最近のアクセス:
In-App Purchase サンプル - Classified Ads

ここでは、GeneXus で開発したスマート デバイス アプリケーションで StoreManager 外部オブジェクトを使用した One-time-purchase のアプリ内課金を実装した例を紹介します。

サンプルアプリケーションの説明

このアプリケーションは、複数の種類の案内広告に関するものです。ユーザーは自分の自動車、トラック、バイクを売るための広告を掲載できますが、広告掲載 1 件ごとに掲載料 ($ 0.99) を支払う必要があります。この機能は次のように実行されます。
1.このアプリケーションには、広告一覧と、($0.99 支払って) 自分の広告を掲載するための [ Publish Ad ] ボタンが表示されます。
イメージ:33915.png
2.「Publish Ad」ボタンが購入取引のトリガーとなります。エンドユーザーは、システムに新しい広告を挿入するために、「New advertising」を購入する必要があります。
イメージ:33916.png
3.購入が正常に完了すると、WWSD オブジェクトの Insert パネルが表示され、ユーザーはフォームに入力して、新しい広告を挿入できます。
情報の記入が終了すると、新しい広告が広告一覧に掲載されます。
イメージ:33917.png
イメージ:33918.png

この機能の実装方法

  • GeneXus で開発を始める前に、プラットフォームストアに対してアプリケーションの In-App Purchase (アプリ内課金) を設定します。
  • Ads トランザクションを定義します。
    イメージ:33907.png
  • Ads トランザクションに WorkWithDevices pattern を適用します。そして、List ノードで「Publish Ad」と呼ばれるアクションを追加します (既定のアクション「Insert」と置き換えます - 開発者はこのアクションを削除して続ける必要があります)。
  • 「Publish Ad」イベントセクションに次のコードを記述します。基本的には、(publish_my_ad_id と呼ばれ、Google developer consoleApple iTunes connect で事前に登録された) 商品アイテムを購入します。プラットフォームストアから検索された情報を使用して、購入が正常に完了した場合、Ads トランザクションオブジェクトに関連付けられた WWDS に Insert を呼びます。
Event 'Publish Ad'
     Composite
           &ProductId = 'publish_my_ad_id'
           &PurchaseResult = StoreManager.PurchaseProduct(&ProductId)
           if &PurchaseResult.Success
                  WorkWithDevicesAds.Ads.Detail.Insert()
           else
                  msg('There was an error making product purchase.')endif
    EndComposite
Endevent
  • 手順はこれで完了です。
ユーザーとストアとのやり取りや決済手続きなどは、すべてプラットフォームストアで管理されるため、心配する必要はありません。また、この例に限って言えば、扱う製品は 1 回だけ購入可能な (one-time-purchase) 製品であるため、同じユーザーが再び機能 (製品) を購入するときは購入手続きを最初からやり直す必要があるため、購入情報をアプリケーションに保存するかどうかは任意となります。
サンプルのダウンロード

参考情報

In-App Purchase サンプル - My Kitchen


サブページ
Created: 14/09/18 03:13 by Admin Last update: 21/05/21 03:29 by Admin
カテゴリ
Powered by GXwiki 3.0