# アプリ内購入のデジタル購入

*スキルレベル: エキスパート*

{% tabs %}
{% tab title="詳細ガイド" %}

#### Adaloアプリにデジタル購入コンポーネントを追加する

**はじめに**

アプリを収益化する一般的な方法の1つは、デジタル製品の一度きりのアプリ内購入です。例えば、ゲーム内のコインを購入してSpace Fight Titans XL（架空のゲーム）の基地をアップグレードしたり、無料アプリから定期購読のないプレミアムアプリにアップグレードしたり、参加したいオンラインブートキャンプのパスを購入することを考えてみてください！

これらはすべてデジタル製品の一度きりの購入であり、それがAdaloデジタル購入コンポーネントが作られた目的です。

**このコンポーネントを設定する前に理解しておくべきこと**

1. 当社のコンポーネントは現在クーポンコードとは連動していません。
2. データベースを機能させるためにはいくつかのことが必要です：
   1. **「製品」のコレクション**
      * これはイベント、アクティビティ、コーチングセッションなどであっても構いません。ただし、支払われるアイテムと関連付けられている必要があります。
        * または、1つの製品のみを販売している場合は、固有の製品IDが必要です。
        * 大量の製品を追加する場合は、Adaloからコレクションをエクスポートし、.csvを修正してAndroidのアップロードガイドラインに準拠させることができます。Appleでは1つずつ追加する必要があります。
   2. **製品ID**
      * GoogleとAppleは、パッケージ名/BundleIDとアイテムから1〜2語を使用することを推奨しています。例：com.spacefighttitansxl.powerup.1 ですが、最終的にはこれらの制限に従う任意のものでも構いません。
        * 数字または小文字の文字で始まり、数字（0-9）、小文字の文字（a-z）、アンダースコア（\_）、ピリオド（.）を含めることができます。
          * 148文字以下

**Adaloデジタル購入コンポーネントは、AdaloアカウントにApp Marketplaceからインストールできます。**

1. Adalo Builderの左ツールバーにあるプラスボタンをクリックします。
2. スクロールしてExplore Marketplaceボタンをクリックします。
3. MarketplaceでAdaloデジタル購入コンポーネントを見つけてインストールします。
4. デジタル購入コンポーネントをアプリの購入画面にドラッグします。
   1. このコンポーネントには、標準のAdaloボタンコンポーネントのスタイルカスタマイズがすべて含まれています。

**デジタル購入コンポーネントボタンの設定**

1. AndroidおよびiOSの製品ID - これらは購入される製品の固有識別子です。GoogleとAppleはそれぞれのプラットフォームに対して独自のフォーマットを推奨していますが、そのアイテムに固有のものであれば何でも構いません。両プラットフォームで同じ製品IDを使用できます。
2. このプロパティをMagic Textを介してコレクションから選択するか、ここに特定の製品IDを追加します。

   <figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-1cdde06ffbb8479ceb793e8fc8df1faca00b6d96%2FProduct.png?alt=media" alt=""><figcaption></figcaption></figure>
3. **ボタン** - テキスト、アイコン、フォント、色、スタイルを変更して、ボタンをアプリのスタイルに合わせます。

**購入をリストアとして扱う**

1. App StoreとPlayストアは、ユーザーが新しいデバイスに以前の購入を復元する方法を要求します。Adaloでは、すべての情報がユーザーのアカウントに紐づいており、サーバーに保存されているにも関わらず、この**アクション**はアプリ内に存在する必要があります。
2. ボタンを「復元」という表記に変更することができ、これはAppleとGoogleによって受け入れられます。過去に製品を購入したかどうかを認識します。
   1. 購入用のコレクションを作成します。
   2. 購入用のIAPボタンを追加し、「復元」と名前を変更します。
   3. ユーザーを更新して購入した製品を含めるアクションを追加します。
   4. 過去に購入している場合は成功として返され、アクションを設定します。エラーが発生した場合は、ユーザーが過去にこれを購入していないことを意味します。
3. このボタンはどこにでも配置できますが、ユーザー設定画面に追加することをお勧めします。動的な製品IDで複数の製品を販売している場合は、このボタンがあるリスト内に製品のリストを作成し、ユーザーが購入を復元できるようにします。
4. 適用可能なユーザーにのみ表示されるように、表示ルールを使用します。

**アクション** - デジタル購入コンポーネントには、支払いモーダルからの異なる結果を処理するための3つのアクションがあります。各アクションに対してユニークな画面を追加し、ユーザーに何が起こったかについてフィードバックを提供します。

**成功** - 購入が完了しました

* データベース内のレコードを更新
* ユーザーを購入したアイテムに追加します。
  * ユーザーレコードのフィールドを更新するか、製品/購入からユーザーへの関係を追加します。最終的には、データベース内のユーザーに購入を関連付ける方法を決定する必要があります。

**エラー** - 購入が拒否されたか、サーバーサイドでエラーが発生したため、購入が完了できませんでした。

* エラーコードをエラーログコレクションに保存し、これらのコードにアクセスするためにCreateまたはUpdateアクションを使用できます。

**キャンセル** - ユーザーが購入をキャンセルしました。

* ユーザーによって購入がキャンセルされた場合に実行する必要のあるアクション。

**Web**

1. アプリ内購入は、Apple App StoreまたはGoogle Play Storeからダウンロードされたアプリでのみ機能します。このコンポーネントはデフォルトでWeb上では非表示ですが、コンポーネントを表示し、Stripe支払い画面へのWeb専用アクションへのリンクを設定することができます。

**今すぐAndroid SDKを構築し、AdaloでiOS Testflightビルドをプッシュして、開発者設定を続行してください！**

{% hint style="warning" %}
このコンポーネントをインストールすると、アプリは追加のレビューを受けます。アプリの残りの部分をテストするために必要な時間を短縮するために、開発サイクルの終盤や展開直前に追加することをお勧めします。
{% endhint %}
{% endtab %}

{% tab title="Android Setup" %}

### **Android - デジタルインアプリ購入の設定**

1. Play ストアコンソールで、アプリを選択します。
2. デジタル購入コンポーネントが設定された ***NEW BUILD*** を内部リリースまたはベータリリーストラックにアップロードします。 ***\*\*これはアプリの製品を設定する前に行う必要があります\*\****
3. 左側メニューの「Monetize>Products」から「In-App Purchases」を選択します。
4. これにより、支払いを受け取るためのアプリの設定手順が表示されます。
5. すべての製品は価格テンプレートに紐付ける必要があります。価格テンプレートを使用すると、通貨の交換や詳細を各製品ごとに更新する必要なく、複数の製品やアプリで価格を再利用できます。
   1. Google Play コンソールのアカウント設定で価格テンプレートを作成します。アプリ固有の設定ではありません

![](https://lh3.googleusercontent.com/hDRJSCypQH0Kln4x32X1zkmDfwuBOPcbKppYOAKwZdAY1t4yBpMBcE4kBLLhxO26bQafKMa4Cz459xPldf1hy28wvo62bwhSPrCSDstimJ8XM8dudy48dgdt2MjnDkx_4OoiV01W)

1. 価格テンプレートに説明的な名前を付け、価格を設定します。
2. 価格に税金が含まれているかどうかを選択します。

![](https://lh6.googleusercontent.com/CnpcHm9JFxFdlW3E4CxF3rS5chHtohiOm81mliJ1FBgitaqPGKrCZKWzJb9-yjy4N3uAPY7BK5YncsVOkzrsnzymGn0Tmv_DPuiIDPiAiMdRq4dB-twXAII2qrrB9GFNsGy-fjw2)

保存をクリックします。

それでは、アプリ固有の設定>Monetize>Products>In-App Products で In-App 製品を作成します。

![](https://lh5.googleusercontent.com/FYYQ50vKYlR2ipWziUbYXxci3c23nKW9j2hUlXwyLaA7Za9yS9uX9h3oRiq_CRDd_TN3wGk5g-Ck-GtlJd6mqZevcuxDfXIZd8wi1Hb5eFGaK3n9RY0S_W_riOsAvS-XuHVOgJBY)

製品の詳細を入力します。製品 ID はデジタル購入コンポーネントで設定したプロパティです。

![](https://lh5.googleusercontent.com/OsGbfczqP1jo0m4KeTTyzG2hVHlN9wq1O8eJ4_kFVVnbTbhBV5dj1fhcB7XfPTbUIuoEKBBdUN5Q46ACh2CZp57E8V_LNKialDe7I3CfzVJT6HtcW9YFuG2KRudGw-KJvRY39EEz)

1. 製品の詳細を提供します。
2. 作成した適切な価格テンプレートを選択します。
3. 製品を「有効化」します。
4. 各製品について 9-17 を繰り返すか、大量のリストをアップロードするために .CSV をフォーマットします。
   1. アプリは、内部テストトラックアプリをプレイストアからダウンロードしてテストする前に、追加のレビュー時間が必要な場合があります。
5. 今すぐ内部テストフライトアプリをダウンロードしてコンポーネントをテストします！
6. テストが完了したら通常通り公開に進みます。
   {% endtab %}

{% tab title="iOs Setup" %}

{% endtab %}

{% tab title="undefined" %}

### **iOS - デジタルインアプリ購入の設定**

{% endtab %}

{% tab title="undefined" %}

1. App Store Connect でアプリに移動し、左側メニューから In-App Purchase>Manage を選択します。
2. これらの製品は、アカウント内のすべてのアプリに追加できます。
3. 新しい In-App 製品を追加するには、(+) ボタンを選択します。
   {% endtab %}

{% tab title="undefined" %} <img src="https://lh6.googleusercontent.com/_CpWdeAwX4EOKcB5D-QpC_gnOl3Vs2776yGoBqMILCQZsBFZioinNpgJkH74d0Ka3xed2zKidkA1ivGVNlaG2qFyJV1WRHrza9U_3OMSHC917vqEekcBOdbsTsDquFvMvjAPlsth" alt="" data-size="original">
{% endtab %}

{% tab title="undefined" %}

1. 追加する製品の種類を選択します。
   1. \*\*\*自動更新サブスクリプションタイプはまだサポートされていません
2. 製品の詳細を入力してください
   {% endtab %}

{% tab title="undefined" %} <img src="https://lh5.googleusercontent.com/PeuVZDBrQ7pDpUQEU4CVUuLftLVBC0NWg7sQK4YePEWZ0oFZIVW2LW6EL3GRsy0QsOuEwDTDuKIBiTzHzz_yQWMs1-Gz5YTdHFrKlxKIb6k8ojETnK4ICpt4cqPtledtHjuZ_ON8" alt="" data-size="original">
{% endtab %}

{% tab title="undefined" %} <img src="https://lh5.googleusercontent.com/H2_6DhSO5IAb9L7AGqvhelkH417aBX1hWS-_9vGKrDJVcfQZ1IyvbNb58jzqtUa_xiPR34EovnGQnMmkPUGRcuuh3cNPPLAyaeSM95yA76YMtw7-jXeKWtgV12fMhvHVA6eG1jWw" alt="" data-size="original">
{% endtab %}

{% tab title="undefined" %}

1. 製品IDはデジタル購入コンポーネントで設定したプロパティです。
2. 参照名はダッシュボードで製品を識別するためのものです。
3. 価格設定 - 製品の価格ティアを選択します。コレクション内の製品の価格を最終決定する前にこれらを確認してください。
4. App Store情報は、「In-App Purchases」情報セクションのApp Storeリストに表示されます。
5. App Storeプロモーション - オプションです。今はスキップしても構いません。
6. レビュー情報 - この特定の製品の購入ページのスクリーンショットをアップロードする必要があります。推奨解像度は1242 x 2688または640 x 1136ですが、[これら](https://i.stack.imgur.com/ddOpt.png)のサイズはすべて受け入れられます。
7. 保存
8. アプリ内で販売する各デジタル製品について、ステップ3から6を繰り返してください。
9. 支払いを受け入れるためにApple Developerアカウントを設定する必要があります。<https://appstoreconnect.apple.com>で行います。
10. 設定を行うには、「契約、税金、および銀行」セクションを選択してください。これは、アプリでIn-App Purchasesをテストまたは受け入れる前に完了する必要があります。承認されるまで最大24時間かかります。
    {% endtab %}

{% tab title="undefined" %} <img src="https://lh3.googleusercontent.com/aid23HtGt2QjZ4nOdr_diNtMQ2zRrVFenL5Mi2Y_sI8NjzA_pBSCZCO4ZaB9nnHAGy53CkNG-GkxIlQM1sguk15KWFj5AeywfOlKVImqpj4yBB4MOBzaGnEszlpyPDWsxtzWRJtQ" alt="" data-size="original">
{% endtab %}

{% tab title="undefined" %}

1. これでTestFlightでデジタル購入をテストできます。TestFlightビルドでの購入は無料ですが、TestFlightで成功した場合、App Storeでも機能します。
2. アプリを十分にテストしたら、App Storeにリリースするためのビルドを提出できます。IAPを初めて追加する際には、いくつかの追加手順があります。
3. ページの上部にあるApp Storeタブに移動し、In-App Purchasesまでスクロールします![](https://lh3.googleusercontent.com/oM5HFASPED6d00CbTIow1INVS-l8Fb2lvr1ZT3TmCeC8vQtuobpBMwqA5M4glhu2kkbVOC8Z5FuR3SYO9qT1tRwaUV_7UzYzmBuzT-Wjx62rqZmWDrMgB3CUvVeXxUu0F0bwaDWA)
4. このアプリに関連するIn-App Purchasesを選択します。
5. ビルドセクションでデジタル購入コンポーネントを備えた新しくテストされたビルドを選択します。既存のライブビルドは使用できません。アプリを公開する際には新しいビルドを提出する必要があります。
6. App Store へのリリースには、通常の公開プロセスに従ってください。
7. App Store にはデジタル購入が可能なアプリがあります！
   {% endtab %}

{% tab title="Google でのアプリ内購入のテスト" %}

#### Android アプリでのサブスクリプションのテスト

Google デベロッパーアカウントと同じメールアドレスを使用してアプリ内でテスト購入を行うと、購入に料金はかかりません。他のユーザーにもこの機能をテストしてもらいたい場合は、アプリのライセンステスターとしてユーザーを追加する必要があります。これらのユーザーは、既にテストトラック内にいる人々であっても、テストトラック外の人々であっても構いません。

{% hint style="warning" %}
**テストトラック内でのユーザーの購入は、ライセンステスターでない限りユーザーアカウントに実際の料金が発生します。テスターのメールアドレスは、購入に使用するメールアドレスと一致している必要があります。テストトラックの設定の詳細については、**[**Google への公開**](https://help.adalo.com/testing-your-app/publishing-to-the-google-play-store/upload-your-app-to-google-and-create-your-store-listing)**を参照してください。**
{% endhint %}

#### ライセンステスターの有効化

1. [**Google Play Console**](https://play.google.com/console) のメインダッシュボードから、左側のメニューのセットアップドロップダウンから **License Testing** オプションをクリックします。

   <div align="left"><figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-8bf3accc6ff34dfbfd45e2f808d957d20f97990d%2FGoogle%20Play%20(2).png?alt=media" alt=""><figcaption></figcaption></figure></div>
2. テスト用のサブスクリプション機能をテストしたいユーザーのメールアドレスを入力し、コンマで区切って入力してから Enter キーを押して追加します。これらのメールアドレスは Gmail アカウントである必要がありますが、Google Workspace メールアドレス（つまり、Google Workspace に接続されたカスタムドメイン）であっても構いません。
3. ドロップダウンから **LICENSED** を選択して、開発者アカウント内のアプリがこのメールアドレスによる購入がライセンスされており、テストサブスクリプションに料金がかからないことを知るようにします。

   <figure><img src="https://797861279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4EFNSNZLMs5AZ70x2P33%2Fuploads%2Fgit-blob-2821406feed9c3b115174dbd143e8b77f771f990%2FLicense%20Testing.png?alt=media" alt=""><figcaption></figcaption></figure>
4. 右下の **Save Changes** をクリックし、ポップアップで **Save** をクリックします。これらの設定は開発者アカウント内のすべてのアプリに適用されることに注意してください。
   {% endtab %}
   {% endtabs %}

## ヘルプ

この記事に関する追加のヘルプが必要な場合は、いつでも[コミュニティフォーラム](https://forum.adalo.com/)で質問できます！投稿にはこの記事へのリンクも貼り付けてください！
