Upgrade to Pro — share decks privately, control downloads, hide ads and more …

リーダーアプリに外部課金リンクを設置する

Go Takagi
December 22, 2022

 リーダーアプリに外部課金リンクを設置する

potatotips #80

Go Takagi

December 22, 2022
Tweet

More Decks by Go Takagi

Other Decks in Technology

Transcript

  1. リーダーアプリに 外部課⾦リンクを設置する Go Takagi 20 22 / 12 / 22

    potatotips # 80 iOS / Android 開発 Tips 共有会
  2. Me ( Go Takagi ) ‣ID ( GitHub / Twitter

    ) • shimastripe / shimastriper ‣Work • 株式会社 ⽇本経済新聞社 ‣ iOS 紙⾯ビューアーアプリ の開発を担当 ‣Like • Swift / ⾃動化 / 柴⽝ 2 電⼦版広報⽝デンシバ
  3. 登壇履歴、こちらもお願いします 3

  4. リーダーアプリ?

  5. 5 https://developer.apple.com/jp/support/reader-apps https://www.nikkei.com/article/DGXZQOGN 310 GQ 0 R 3 0 C

    22 A 3 0 0 00 0 0
  6. リーダーアプリ: 動画や電⼦書籍などのアプリ ‣外部サイトへのリンクを設置できるようになった • アカウントの開設 • コンテンツの購⼊ • サブスクリプション ‣⾃社サイトでの開設‧購⼊‧契約はブラウザ経由のみ

    • アプリで完結させる場合、通常 In App Purchaseを要求される 6
  7. これまでの紙⾯ビューアー: InAppPurchase 無し ‣事前に⽇経IDの有料会員になっていないと使えないアプリ 7

  8. アプリから外部課⾦動線に⾶ばせるように対応! 8 シールド表⽰

  9. ちなみにシールド以外にも様々な制約が...... ‣In App Purchase と共存不可 ‣外部リンク (URL) はアプリ内で1つのみ • ボタンにわかりやすく明⽰する

    ‣リダイレクト‧クエリパラメータ使⽤禁⽌ • トラッキング‧コンバージョンのテストはできない ‣サービス内容(商品)や価格の表⽰禁⽌ • 外部サイトへの遷移明⽰しかできない ‣ルールが更新された場合30⽇以内にアプリ側は対応必須 ‣etc... 9
  10. 仕様はアップデートされるので 最新を必ずチェックしてください

  11. ⼀連の流れを紹介!

  12. 外部リンクアカウントエンタイトルメントの申請 ‣フォームから申請 • この URL は Account Holder からしか開けないのに注意 ‣チェック項⽬に回答

    (2022年7⽉27⽇時点の例を残しておきます) • Is the primary functionality of your app to o ff er one or more of the following: magazines, newspapers, books, audio, music, or video? • Does your app allow people to sign in to an account? • Can people access content or services purchased outside of your app (e.g., on your website) by signing in to your app? • Are your appʼs content and services digital only? • Do the content and services accessed in your app facilitate real-time, person-to- person services (e.g., providing tutoring services, medical consultations, real estate tours, or fi tness training)? • Does your app o ff er in-app purchases? • Have you submitted your app for review? ‣App Info を記載 • Bundle Id と AppStore or Test fl ight URL • これは未公開アプリの限定公開 Test fl ight URL で申請しても有効 1 2 https://developer.apple.com/contact/request/external-link-account
  13. エンタイトルメントの有効化 ‣Additional Capabilities の項⽬が申請が通ると出現 • ここも Account Holder のみ確認できる 1

    3
  14. App 側で有効化 (entitlements / Info.plist) 1 4 https://developer.apple.com/jp/support/reader-apps entitlements Info.plist

    ‣ボタンの設置 • ⽀払い権限がある場合のみ有効化
  15. 仕様通りのシールドを作る 😇 (deprecated) ‣Font / Padding / Size / SystemColor

    が全て指定 • iPhone / iPad の仕様差もある...... (SplitView は指定されてない) 1 5 https://developer.apple.com/support/downloads/Reader_App_Modal_Speci fi cations.zip
  16. 完成!審査に提出!! ‣が、20⽇ちょっとレビューが進まない...... ‣そのままiOS 16 がリリースしてしまう • すると......? 1 6

  17. iOS 1 6 から API が追加 + 変更 ‣ExternalLink API

    が登場 • これまでは StoreKit の既存の API で実現していた • iOS 1 6 からはこれを使ってね ^ ^ メールが来る • https://developer.apple.com/documentation/storekit/ external_link_account • シールドも SDK が⽤意してくれるように!! • ただ async function なので Concurrency に対応する必要あり 1 7
  18. 追加対応して再提出 ‣通った!! • アップデートを通して、現状リジェクトされてない • デメリットとなるような体験は踏んでいない • 審査ペースも1⽇程度 1 8

  19. 五⽉⾬ Tips ‣外部リンクの更新はできる? • 1バージョン毎に変えれる • 動的な変更はできない、リダイレクトも不可 • ボタンに表⽰するため、シンプルなURLを⽤意したほうが美しい ‣シールドのイベント計測は...?

    • iOS 1 6 未満は⾃前実装だからできるけど、16 からはSDKが⽤意するから不可 ‣Entitlementsが増えるため、Devに影響 • Test fl ight に別 BundleId であげるユースケースがある場合 
 そちらにも Entitlements が必要になる 1 9
  20. まとめ ‣リーダーアプリ外部サイトリンクがつけられるようになった • iOS 1 6 からはとても楽 • ⼀度対応してから、後に In

    App Purchase に変えることもできそう ‣事前予想以上の購読者を獲得。今後も継続して設置予定 • シールド経由 + トラッキングできないため、劇的な期待はできない • 貢献している数字は取れている、チューニングは難しい 2 0