iPhoneマネタイズアプリを初めてリリースするための奮闘記
iPhoneマネタイズアプリを初めてリリースするためのノウハウをまとめています。
iPhoneアプリのマネタイズ機能を実現する際、どの機能がどこまで実装できているのかを管理することはとても重要なことです。いつまでにどんな機能を実装するのかをまとめておきましょう。
初心者でも出来るようになるBONDS iPhoneアプリプログラミングチュートリアルで作りたいアプリケーションについてまとめました。
このページでは以下より構成しています。
- 開発設計ノウハウまとめ
- Apple Store Connectノウハウまとめ
- リリースノウハウまとめ
- マネタイズに必要な機能まとめ
開発設計ノウハウまとめ
このページでは、開発設計のノウハウを残すこともあり、ありのままの状態を公開します。その中で、同じような問題を受けている人の助けになればと思うのです。
ユーザエクスペリエンス 【開発機能】 | 進捗状況 | 達成できたこと | リリースまでの課題 |
アプリを起動しサービスを始める。 【起動時広告の表示】 | 実装完了 | ・アプリを起動すると、Google AdMobの広告が表示される。 ・起動時広告がサブスクリプション時にも裏で起動しているのを修正。(表示されていないが音が出る場合がある。) →IDを無しにすることで、広告が動作しないように変更。 | ・テスト環境のコードになっているため、リリース用のコードに修正する必要がある。 |
Topメニューを開きサービスを開始する。 【サービスメイン機能を実装する。】 | 未完成 | ||
メニュー画面を選択して、Amazonアソシエイトのリンクを表示する。 【Amazonアソシエイト】 | 実装完了 | ・Amazonアソシエイトのアソシエイトリンクを使ってアプリにWeb画面を表示する。 ・楽天ふるさと納税のアフィリエイトリンクにする。 | ・アソシエイトのリンクをアプリに貼って良いか確認する。 ・今後、Amazonセラーセントラルに移行した時にリンクを変更する。 |
メニュー画面を選択して、Twitterのリンクを表示する。 【Twitter】 | 実装完了 | Twitterのリンクを使ってアプリにWeb画面を表示する。 | ・サービス名がXになったので、表示する内容や関数名を修正する。 |
メニュー画面を選択して、Wordpressのリンクを表示する。 【WordPress】 | 実装完了 | WordPressのリンクを使ってアプリにWeb画面を表示する。 | |
メニュー画面を選択して、アプリのカスタマイズをする。 【Apple iOS SwiftUIのサブスクリプション購入後とAdMobの広告を表示させないようにする。】 | 実装完了 | メニュー画面は通常固定のURLがあらかじめ実装された状態であるが、アプリ内アイテムを購入してもらあったことにより、URLを変更することができるようにする。 | |
メニュー画面を選択して、アプリの情報を表示する。 【利用規約】 【プライバシーポリシー】 | 実装完了 | 最低限必要な、免責事項の表示、著作権について、プライバシーポリシーなど表示する。 | ・Xcode内にテキストベースでの内容を記載しているため、記載内容が十分なのかを確認する。 ・著作権の表示内容を決定する。 |
ショッピング機能 【町いちばんの商品・サービス】 | 未実装 | ・アプリに商品を表示して、Apple Payの機能を使って支払いまで実施する。 ・同じ商品を選択すると、ショッピングカートから削除するとすべて消えてしまう(一つずつ追加・削除できるように)。 ・Apple Payの支払いを本番環境として定義する。(デベロッパのアカウントが必須。) | ・販売する商品の決定・商品の定義、写真や詳細の内容を表示する。(現在は、8つの商品を仮に設定。) ・商品を販売する場合のユーザの顧客情報の管理方法の確認。 |
サブスクリプション機能を契約すると、広告が表示されなくなる。 【Apple iOS Appで有料の課金アプリを作成する。【サブスクリプション】】 | 実装完了 | アプリの課金アイテムを購入すると、Apple Payで支払いができるようになる。 ・アプリのサブスクリプション機能を有効にする。日付が経つとサービスが無効化される。 ・サブスクリプションの購入をしたときに、どのようなサービスを有効にするかの連携機能を拡充する。(ポイントカード機能との連携) | |
アプリを使ったこと、アプリでの広告を見た時にポイントを購入。 【SwiftUI PassKit Apple内通貨(コイン)を実装する】 | 実装完了 | アプリ内通貨サービスで、アプリを購入、購入した際の処理を定義。 ・コインを購入し、利用した時の通帳へ入れる金額のロジックを実装。 ・アプリの価値と、現金の価値の調整。1円を何ポイント換算するかの全体の設計。 →100円で50Coin、200円で110Coin、300円で、170Coinで設計。 ・広告を見た時のポイント付与と実際のAdMobで得られる課金機能の整合どり。 →1回広告を見ると、1Coinで実装。 | ・アプリを購入をした後にポイントに変更して、そのポイントを何に使うかの定義。 |
YouTubeを見て商品を購入したりサービスの詳細を知る。 【YouTube】 | 実装完了 | ・Wordpressのリンクを使ってアプリに任意のYouTube画面を表示する。 ・アプリのユーザに紹介するYouTube動画を決定する。 ・様々なチャンネルがあるため、どのようにして1元管理するかの検討が必要。 | |
WordPressの記事を表示させる。 【Swift UIでWP REST APIを呼び出し、WordPressの記事をアプリに表示させる方法】 | 実装完了 | WordPressのRestAPIのJSONコードを使って、直接アプリに表示させる。記事が増えるとアプリのリンクも増えるようになる。 | ・アプリに表示させるカテゴリを整理する。(必要な記事のみを表示させる。) ・商品紹介詳細と、アプリの購入を連携できているかのチェック。 |
メンバーカードを表示させる 【Apple Wallet パスサーバーリファレンス実装方法を使って会員証などの集客ツールを作成する】 | 検討開始 | メンバーカードを実装する。(メッセージの認証のため、デベロッパアカウントが必要。) | |
Tap To Payでの実装を行う。 【Apple Pay(Tap to Pay)を使えるPOSシステムを作る】 | 未実装 | ・日本に導入されていないため、引き続き検討が必要。 |
iPhoneアプリの付加機能の作成
付加機能 | 目的 | ||
イベント機能を実装する。 | イベントがある日などに、アプリを売り込むために、イベント機能を実現する。 App Store Connectでアプリケーションを見つけやすいようにする。 | ||
オファー機能を実装する。 | サブスクリプションを購入してもらうために、オファー機能を実装する。 | ||
iPhoneアプリにオファーコードを導入する方法
イベント機能を実装する。
Apple Store Connectノウハウまとめ
App Store Connectの設定を行う
App Store Connectで新規Appを登録しリリースする方法のまとめ
App Store Connectを使ったアプリの利用シーンを考える。
リリースノウハウまとめ
リリース前に、テスト環境から本番環境に変更する設定変更
リリース時に共通で変更する必要がある項目
本番リリースに向けての作業 | 実施内容 | 変更時の覚書メモ | チェック |
Xcodeの設定を本番環境に変更する | ・サブスクリプション、アプリ内課金の設定を、App Store Connectの設定に変更する。 | App Store Connectのサブスクリプション、アプリ課金を作成する。 署名書の作成、IDとの紐付け、名称などをXcodeとApp Store Connectの設定で合わせないと表示されない。 | |
XcodeにApp Store Connectの情報と連携する | ・App Store Connect上で取得した署名ファイルを利用する。 | Xcode環境での実装では動作するが、本番環境では、App Store Connectで取得したIDに紐づける必要がある。 Apple Pay、WalletのPass、Order、Subscriptionなどのお金に関わる機能は署名が必要。 | |
Google AdMobの暫定コードを本番コードに変更する。 | ・Google AdMobの広告IDを本番用のIDに変更する。 | Google Admobは、Xcodeでの実装時や評価時は、テスト広告を表示するための評価用IDを利用して実装している。 そのため、本番時には、Google AdMobのサイトから、本番用コードを取得して置き換えが必要。 評価用と本番用で評価ミスをしないように注意すること。 | |
フレームワークのアプリを実装する際に変更する必要がある項目
Xcodeのソースコードをコピーして、新しいアプリケーションを作る時に変更する内容をまとめる。
変更する内容 | ||
Appのアイコン画像の変更 | アプリケーションの画像を用意して対応すること。 画像を自動生成できるサイトがあるため、1つの画像を用意して、必要な画像を用意する。 | |
アプリIDの変更 | Xcodeのソースコードをコピーして作る場合、新しいアプリケーションをコピー前のアプリケーションのIDを変更すること。 Xcodeを変更した後、App Store Connectに登録する。 例:com.Domain.App name | |
署名ファイルの変更 | Apple Pay、レシート、Subscription、アプリ内課金など、アプリに依存するアイテムの変更をする必要がある。IDの名称と、署名ファイルを変更する。 | |
アプリに設定したURLを変更する | メニューなどに利用しているアプリから参照するURL(ショップ、HP、Twitterなど)を変更する。 YouTube用のURLも忘れずに変更する。 フェールセーフなど何箇所かURLを設定している箇所があるため、変更漏れなきこと。 | |
ブログ連携のURLを変更すること | アプリから参照する、リリース用のWordpressブログのURLを変更すること。 |
Google AdMobのテストコードを本番コードに変更する。
AdsViewフォルダ内のStartAdView.swiftのファイル内のIDをテスト用から本番用に変更する。
評価時に以下を確認する。
- ・広告にTest modeが表示されないこと。
- ・正しく広告が表示させること。
- ・サブスクリプション購入時に広告が表示されないこと。
- ・起動時広告を見た時に、Adsenseに収益が入ること。
参考にする記事アプリ起動時とテストモード
・Apple Payの支払いを本番環境として定義する。
Apple Developerアカウントに登録する方法まとめ
マネタイズに必要な機能まとめ
購入したコイン機能活用
・コインを購入し、利用した時の通帳へ入れる金額のロジックを実装した時のメモ。
Apple Payを導入した際、リアルな現実で貯めたポイントを使うとするとそれなりに現金や商品、サービスを用意する必要があります。リアル店舗を経営している経営者やショップオーナーであれば、ためたコインを使って割引をするなどとても有意義にサービスを利用することができます。
一方、まだ起業したてや、商品やサービスを立ち上げたばかりの場合は、アプリで購入した商品をアプリ内で消費することで課金をする仕組みが必達で必要となります。
例えば、ゲームであれば、ライフやアイテムを販売し、アプリのゲーム内で利用して頂く。他にもガチャであれば欲しいアイテムが出るまで商品を購入してもらうなど、何らかの工夫をすることで、アプリ内でのサービスや商品を購入してもらうことができます。
さて、以下の事例の場合、アプリ内で利用できるコインを購入する画面になります。
アプリ内で使えるコインをApple Payで購入し、その結果、コインチケットを購入することができます。この画像の場合は、1コイン=1円でわかりやすく表現していますが、1円よりも価値を大きくするのか、小さくするのかは、ユーザに提供するサービス次第ではないかと思います。
例えば、Appleへの手数料を払った後の利益を引いても大きく収益が出る場合は、コインの価値を大きくしても問題ないでしょう。一方、収益が出ない場合は、コインの価値を小さくすることで、ポイントをたまりにくくするが、商品やサービスを利用することの割引をするなど、収支のバランスを考えながらポイントの設計をする必要があります。
ユーザは賢いので、すぐにポイント還元率などで儲けがあるか、損があるかという判断をしてしまいがちですが、あくまでもポイント機能は、このアプリを長く使ってもらうためのツールに過ぎませんので、この点を忘れずにポイント機能を実現してみてください。
さて、この機能を実現するためには、2つの重要なことがあります。
まずは、
ポイントが消えない仕組みにすること。
ポイントの計算を間違えないこと。となります。
当たり前のことですが、やはりプログラミングを使ってありとあらゆる所から関数を使うことになるので、しっかりとポイントの加算、減算については、ミスないようにしましょう。
この機能ができれば、ユーザからお金を払ってアプリのアイテムを購入することができ、また、得られた利益を使ってポイントを自社で作ることができ、ポイントサービスを提供する機能を使わなくても独自のサービスを展開することができ、手数料などを考慮したポイント設計ができるため顧客に多く利益を還元することができるようになります。
ショッピング機能
ショッピング機能を実装して、アプリからApple Payにて支払いをする機能を実装しています。
基本的なショッピング機能ができた後の、課題を解決していきたいと思います。
・販売する商品の決定・商品の定義、写真や詳細の内容を表示する。(現在は、8つの商品を仮に設定。)
まず、アプリで扱う基本商品を8つ選び、表示させたいと思います。
本当の店舗であれば、例えば流行りの本の全巻セットなどや、そのお店の通販商品などが候補になることでしょう。
お取り寄せセットなど、3000円から10000円程度の商品をショッピングカートに並べて、ユーザに購入してもらうことを想定しています。購入後、Apple Payで支払いを行い、配送に渡すことになります。
通常、ECサイトを通じて販売すると、販売手数料がかかってしまうので、10000の商品を売ると1000円が手数料で取られてしまいます。確かに有名なところで販売するのは良いのですが、利益が出ずに大手企業に利益を奪われてしまいます。大手が販売手数料を上げると、一気に利益が出なくなってしまうので、独自の販路を持っておくことは必ず必要になるのではないでしょうか?
候補案1:Amazonセラーセントラルでも扱っている商品を取り扱う。
商品を扱う際、信頼のおける場所でなければ怪しがって購入に至りません。例えば同じものでも、有名な店舗から購入するのと、海外サイトから買うのでは、信頼のあるないで購入に至らないものも多くあるでしょう。
今回、取り扱う商品は、将来アプリと並行してセラーセントラルでも扱うことも想定した地域のオリジナル商品を検討したいと思っているのです。
今まで、現地に行かないと買えなかった商品、通販で取り扱ってくれると嬉しいと思われている商品をAmazonセラーセントラルに登録し、並行してiPhoneアプリでも扱えるようにしたいと思います。
候補案2:YouTubeで紹介して欲しくなる商品を取り扱う。
今や、有名な商品であれば説明は不要ですが、新しい商品は動画や企業サイトで調べてから購入されることが多いでしょう。そのため、YouTubeで紹介した時に、欲しいなーと思った時にすぐにアプリから購入できるということを目指したいと思います。
候補案3:楽天ふるさと納税を紹介して、地域の商品を取り扱う。
ふるさと納税が地域貢献のために役立っています。そこで、アプリから楽天アフィリエイトを通じてふるさと納税のサイトに飛ばすことで、地域を好きになってくれた人がふるさと納税をしてくれる姿を目指します。
・同じ商品を選択すると、ショッピングカートから削除するとすべて消えてしまう(一つずつ追加・削除できるように)。
iPhoneアプリでショップ機能を実装するのはとても大切です。なぜならば、ショップ機能を自前で実装できれば、あとはApple Payの手数料だけで、ECサイトに支払う販売手数料は一切かからないからです。
今回、SwiftUIを使った実装をした時に普通に作ってしまうと、既存のショッピングカートでは当たり前の複数個を購入するメニューも作らなければなりません。
ここでは、アプリから商品を選んだあと、任意の個数でデータを削除できるようにしたいとお思います。
App Store Connectを使ってみよう
・商品を販売する場合のユーザの顧客情報の管理方法の確認。
メンバー会員登録機能
地域の貢献のためには、地域を好きになってくれる応援者が必要です。企業であったり、団体であったり、個人であったり色々な方に関わってもらう必要があります。その際に、費用を払ってくれた人や興味を持ってくれた人にメンバーカードを表示させ、愛着を持ってもらう必要があると思います。
そこで、Apple Payを使ったサブスクリプション(継続なしの1年契約)での実装と、Apple Wallet パスサーバーリファレンス実装方法を使って会員証などの集客ツールを作成することを検討しました。
一度、サブスクリプションの機能を実装していましたので、サブスクリプションを使うことで、1年の有効なサブスクリプションを作ることができ、1年間有効な会員カードを作ることができるようになります。
例えば、企業は10000円を払うと会員になる、個人は1000円を払うと会員になるなど、1年間有効なカードを作成することで、町づくりを応援することができるようになります。
コメント