コンテンツにジャンプ

Android Auto-Renewable サブスクリプションを作成する

自動更新可能なサブスクリプションは、ユーザーがキャンセルするまでアプリ内で継続してコンテンツ、サービス、またはプレミアム機能にアクセスできるようにします。このガイドでは、Google Play Consoleでサブスクリプションを作成して設定する方法を説明します。

サブスクリプションは、各請求期間の終わりで自動的に更新されます。ユーザーがキャンセルするまで続きます。以下のような場合に適しています。

  • プレミアムコンテンツへのアクセス
  • 広告なしのエクスペリエンス
  • クラウドストレージ
  • 継続的なサービス
  1. サブスクリプションに移動

    Google Play Console から、選択したアプリを選択し、 Monetize > サブスクリプション 左のメニューから選択します。

    サブスクリプションの作成 」ボタンをクリックして始めます。

    サブスクリプションに移動

  2. 基本情報を入力

    サブスクリプション名と製品IDを入力してください。製品IDはアプリ内で設定する必要があり、後で変更することはできません。

    サブスクリプションの詳細を入力

  3. 基本プランの作成

    Google Play では、サブスクリプションごとに 1 つの基本プランが必要です。native-purchases プラグインは、iOS の互換性を維持するために、1 つの基本プランのみをサポートしています。

    Click Add base plan to continue.

    Create base plan

  4. Configure Base Plan Details

    Enter:

    • Base plan ID: Unique identifier for this plan
    • Billing period: How often users are charged (weekly, monthly, yearly, etc.)
    • Grace period: Time window during which Google maintains the subscription while retrying payment before cancellation

    基本プランを設定

  5. 料金設定

    料金設定セクションにアクセスし、サブスクリプションを提供したい国/地域をすべて選択してください。

    地域を選択

  6. 価格を設定

    基本価格を設定してください。Google Playは自動的にローカル通貨に変換します。

    価格を設定

  7. 地域別料金を確認

    各国で自動的に変換された価格を確認できます。必要に応じて個別の価格を調整できます。

    料金を確認

  8. 設定を保存

    料金設定を保存

    料金プランを保存

  9. サブスクリプションを有効化

    をクリックして 有効化 サブスクリプション製品を購入可能な状態にし、販売するためにサブスクリプションを有効化するボタンをクリックしてください。

    サブスクリプションを有効化

native-purchases プラグインでは、iOS サブスクリプションの処理と一致するために、サブスクリプションごとに 1 つのベース プランが必要です。複数のベース プランはサポートされていません。

グレース ペリオド

期限切れ期間

Google Playは、ユーザーのサブスクリプションアクセスを維持しながら、失敗した支払いを再試行することを許可します。一般的な期限切れ期間は次のとおりです。

  • 月額サブスクリプションの場合、3日間
  • 長期サブスクリプションの場合、7日間

アプリ内での使用

作成後、サブスクリプションをアプリ内で使用するには、製品IDを参照してください。

コピー

次のステップ

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Load subscription info
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.example.premium.monthly'],
productType: PURCHASE_TYPE.SUBS,
});
const product = products[0];
console.log(`${product.title} — ${product.priceString}`);
// Purchase (planIdentifier = Base Plan ID from Google Play Console)
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.premium.monthly',
planIdentifier: 'monthly-plan', // REQUIRED on Android, ignored on iOS
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID', transaction.transactionId);
// Later, check purchase state
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const subscription = purchases.find(
(purchase) => purchase.productIdentifier === 'com.example.premium.monthly',
);
if (subscription && subscription.purchaseState === 'PURCHASED' && subscription.isAcknowledged) {
console.log('Subscription active locally');
// For expiration/cancellation, validate purchaseToken through your backend
}

トラブルシューティング

トラブルシューティング

アプリ内にサブスクリプションが表示されない場合

  • 製品IDが正確に一致していることを確認
  • サブスクリプションが有効になっていることを確認
  • アプリが正しいパッケージ名を持っていることを確認
  • 有効化後2-3時間待って、変更が反映されることを待ってください。

基本プランエラー:

  • 基本プランが1つだけありますか?
  • 必要なすべてのフィールドが入力されていることを確認してください。
  • 請求期間が有効であることを確認してください。

価格に関する問題:

  • 少なくとも1つの国が選択されていることを確認してください。
  • 基本価格は最小許可額より大きいことを確認してください。
  • 通貨変換レートが受け入れられることを確認してください。