• SDK組込みガイド

    Android SDK

    iOS SDK

     

    Coupon SDK for Android

    Coupon SDK for iOS

     

    FANSHIP ポイント 組み込みガイド for Android

    FANSHIP ポイント 組み込みガイド for iOS

     

    ほか

     


    SDKのリリースノート

  • 各種API仕様書一覧
  • プライバシーマニフェストファイル組み込み手順

    2024年春以降にリリースするアプリではプライバシーマニフェスト対応は必須となります。
    以下の手順に沿って、プライバシーマニフェストファイルの追加または修正を行ってください。

    ※ プライバシーマニフェスト対応の詳細についてはこちらの記事をご確認ください。
    ※ SDK ver 10.0.0、10.0.1 をご利用中のお客様は、 SDK 内に入っているマニフェストファイル(FANSHIP-PrivacyInfo.xcprivacy)を削除してから、以下の作業を行ってください。
    ※ 申請が通ることを保証するものではありませんので、ご了承ください。

    1. PrivacyInfo ファイルが存在しない場合
    2. 既に PrivacyInfoファイルが存在する場合
    3. プライバシーマニフェストの確認

    PrivacyInfo ファイルが存在しない場合

    1. Xcode > File > New > File… を選択します。

    プライバシーマニフェスト対応_新規追加_1.png

    2. Resource > App Privacy を選択して追加します。

    プライバシーマニフェスト対応_新規追加_2.png

    Targetsのチェックがついていなければ、チェックしてください。
    下記の例では、作成するファイルはプロジェクトディレクトリ直下を保存先に指定しています。

     

    プライバシーマニフェスト対応_新規追加_2_1.png

     

    3. 追加されたPrivacyInfoファイルを下記のように編集します。
    ※内容については選択式なため、該当項目を選んでください。

    新規_1.png

    • 変更内容(2024-03-07追記)
      • Privacy Tracking EnabledNO に変更しました。

    Privacy Nutrition Label Types を展開し、以下の通り項目を選択します。

    新規_2.png

    • 変更内容(2024-03-01追記)
      • 前回ご案内した User Defaults(User ID)に加えて、他6項目を追加しております。
        1. Coarse Location(おおまかな位置)
        2. Precise Location(正確な位置)
        3. Product Interaction(製品の相互作用)
        4. Other Usage Data(その他の使用状況データ)
        5. Browsing history(ウェブサイトなど、アプリの一部ではないユーザーが閲覧したコンテンツに関する情報)
        6. Other diagnostic data(アプリに関連する技術的な診断を測定する目的で収集されたその他のデータ)
      • 位置情報が2種類あるため、User Defaults と合わせて、計7項目の記載が必要になります。
        • 位置情報を利用しない場合、「Coarse Location(おおまかな位置)」「Precise Location(正確な位置)」の記載は不要です。
      • 「購入履歴」の収集に関してはSDKでは行わないため、マニフェストへの記載は不要です。
      • 各項目の Linked to UserUsed for Tracking について、NO に変更しました。
      • Collection Purposes 項目を追加しました。
        • Analytics
          既存の製品機能の有効性の理解、新機能の計画、視聴者のサイズや特性の測定など、ユーザーの行動を評価するためにデータを使用すること
        • App Functionality
          ユーザーの認証、機能の有効化、不正行為の防止、セキュリティ対策の実装、サーバーの稼働時間の確保、アプリのクラッシュの最小化、スケーラビリティとパフォーマンスの向上、カスタマー サポートの実行など

     

    既に PrivacyInfoファイルが存在する場合

    FANSHIPで利用する項目は下記の通りです。
    アプリ側で他にも使用しているものがある場合、適宜項目を追加してください。
    なお、既に同じ項目が存在している場合、その項目については重複して追加する必要はありません。
    ※内容については選択式なため、該当項目を選んでください。

     

    既存_1.png

    • 変更内容(2024-03-07追記)
      • Privacy Tracking EnabledNO に変更しました。

    Privacy Nutrition Label Types を展開し、以下の通り項目を選択します。

    既存_2.png

    • 変更内容(2024-03-01追記)
      • 前回ご案内した User Defaults(User ID)に加えて、他6項目を追加しております。
        1. Coarse Location(おおまかな位置)
        2. Precise Location(正確な位置)
        3. Product Interaction(製品の相互作用)
        4. Other Usage Data(その他の使用状況データ)
        5. Browsing history(ウェブサイトなど、アプリの一部ではないユーザーが閲覧したコンテンツに関する情報)
        6. Other diagnostic data(アプリに関連する技術的な診断を測定する目的で収集されたその他のデータ)
      • 位置情報が2種類あるため、User Defaults と合わせて、計7項目の記載が必要になります。
        • 位置情報を利用しない場合、「Coarse Location(おおまかな位置)」「Precise Location(正確な位置)」の記載は不要です。
      • 「購入履歴」の収集に関してはSDKでは行わないため、マニフェストへの記載は不要です。
      • 各項目の Linked to UserUsed for Tracking について、NO に変更しました。
      • Collection Purposes 項目を追加しました。
        • Analytics
          既存の製品機能の有効性の理解、新機能の計画、視聴者のサイズや特性の測定など、ユーザーの行動を評価するためにデータを使用すること
        • App Functionality
          ユーザーの認証、機能の有効化、不正行為の防止、セキュリティ対策の実装、サーバーの稼働時間の確保、アプリのクラッシュの最小化、スケーラビリティとパフォーマンスの向上、カスタマー サポートの実行など

     

    プライバシーマニフェストの確認

    1. Xcodeのメニューバーで Product > Archive を実行します。
    アーカイブされたアプリを選択して右クリックメニューを表示してください。

    プライバシーマニフェスト対応_確認_1.png

    2. Generate Privacy Reportを選択して任意の場所に保存してください。

    プライバシーマニフェスト対応_確認_2.png

    3. 保存されたレポートを表示して、内容を確認してください。
    ※位置情報を利用しない場合、「Coarse Location(おおまかな位置)」「Precise Location(正確な位置)」の記載は不要です。

    確認.png

     

    改訂履歴

    • 2024-01-23:FANSHIPで利用する項目について修正しました
    • 2024-03-01:FANSHIPで利用する項目、レポートのスクリーンショットについて修正しました
      ※3/1時点ですでにご対応いただいたお客様は、次回のアプリアップデート時に上記手順に沿ってご対応いただきますようお願いいたします。
    • 2024-03-07:FANSHIPで利用する項目について修正しました

  • FANSHIP イベントに含まれる各パラメータについて

    [FANSHIP イベントの種類について]で公開している各イベントに含まれるパラメータに関する内容をまとめております。
    イベント内に含まれるパラメータ(配信IDやURLなど)を活用し分析する際にご利用ください。

    ■ デフォルトのパラメータに関して

    各イベントデータに以下の情報がデフォルトで含まれます。
    デフォルトで入ることが仕様となっており、外すことはできませんのでご了承ください。

    value 概要
    pModel 端末のモデル名称
    pOsVer 端末の OS バージョン
    pPopinfoVer SDK のバージョン
    pUsesPush プッシュ通知を利用するSDK組み込みとなっているかどうか


    ■ アプリ内イベント

    No event.name event.value

    1

    _S.app.active

    -

    2 _S.app.background -
    3 _push.receive

    ・id:配信ID

    4 _S.push.open

    ・id:配信ID
    ・src: 
      ・ popup(ポップアップダイアログ・バナーから起動)
      ・ notification:通知センターから起動(iOSロック画面含む)

    5 _S.detail.appear ・id:配信ID
    6 _S.detail.disappear ・id:配信ID
    7 _S.detail.openUrl

    ・id:配信ID
    ・src: button(固定)
      ・button(「URLを開く」ボタンをタップ)
    ・url: 遷移先URL(urlencoded)

    8 _S.detail.openUrl ・id:配信ID
    ・src:
    link(固定)
      ・ link(お知らせ内のリンクURLをタップ)
    ・url: 遷移先URL(urlencoded)
    9 _S.list.appear -
     10 _S.list.disappear -
     11 _install.status

    ・pushEnabled: お知らせ受信可否(boolean)
    locationEnabled: GPS受信可否(boolean)
    ・wifiEnabled: Wi-Fi受信可否(boolean)
    ・bluetoothEnabled: Bluetooth受信可否(boolean)

     12

    _update.status
    プッシュ通知許諾状況

    ・pushEnabled: お知らせ受信可否(boolean)
     13 _update.status
    ※GPS許諾状況
    locationEnabled: GPS受信可否(boolean)
     14

    _update.status

    ※Wi-Fi許諾状況

    ・wifiEnabled: Wi-Fi受信可否(boolean)
     15

    _update.status
    ※Bluetooth許諾状況

    ・bluetoothEnabled: Bluetooth受信可否(boolean)
     16

    _update.status
    位置情報許諾状態の変更

    ※iOSのみ取得可
    ・locationAuthorization:
      ・ authorizedAlways (「常に許可」を選択)      
      ・ authorizedWhenInUse (「アプリ利用中のみ」を選択)
      ・ denied (「拒否」を選択)  
      ・ restricted (位置情報は利用できない)

     17 _install.sdk ・appVer: アプリバージョン
    ・appVerName: アプリバージョンネーム
    ・model: ハードウェアモデル名
    ・osVer: OSバージョン
    ・popinfoVer: popinfoのバージョン
    ・carrier: キャリア名
    ※Xcode 14.3 でビルドされたアプリを iOS 16.4で利用した際、carrierの値は'--’となります。
     18 _update.env ・appVer: アプリバージョン
    ・appVerName: アプリバージョンネーム
    ・model: ハードウェアモデル名
    ・osVer: OSバージョン
    ・popinfoVer: popinfoのバージョン
    ・carrier: キャリア名
    ※Xcode 14.3 でビルドされたアプリを iOS 16.4で利用した際、carrierの値は'--’となります。
     19 _wifi.in ・bssid: 検出したBSSID
    ・essid: 検出したESSID
     20 _wifi.out ・bssid: 検出したBSSID
    ・essid: 検出したESSID
     21 _bluetooth.in ・type: iBeacon(固定)
    ・uuid: iBeaconのUUID
    ・major: iBeaconのmajor
    ・minor: iBeaconのminor
    ・rssi: 電波強度
     22 _bluetooth.out ・type: iBeacon(固定)
    ・uuid: iBeaconのUUID
    ・major: iBeaconのmajor
    ・minor: iBeaconのminor
    ・rssi: 電波強度
     23 「_」から始まらない文字列 任意のパラメータ
     24 _event.delete

    num: 削除したイベントの数

     25 _app.alive -
     26 _S.page.open ・scheme: URLのスキーマ(://は含めない)
    ・authority: URLのホスト名またはIPアドレスとポート番号
    ・path: ドメイン以降からクエリパラメータまでの文字列(ルートの場合は/を送る)
    ・query: クエリパラメータ(?は含まない)
    ・fragment: URLのフラグメント
    ・referrer: 遷移元URL
    ・title: ページタイトル
    ・canonicalUrl: rel属性の値が"canonical"なlink要素が存在する場合、そのlink要素のhref属性値
    ・ogUrl: property属性の値が"og:url"なmeta要素が存在する場合、そのmeta要素のcontent属性値
    ・eventTrackerVer: モジュールのバージョンを送信する
    ・sessionId: 新しいWebViewでページを開く度に付与されるIDが入ります。WebViewを開いている限り、ページの再読み込みや復元を越えて同じ値となります。
     27 「_」から始まらない文字列 任意のパラメータ

    28

    _inapp.appear ・message_id : アプリ内メッセージID
    ・delivery_id : 配信ID
    ・condition_id : アクション条件ID

    29

    _inapp.button_[button_id].click ・message_id : アプリ内メッセージID
    ・delivery_id : 配信ID
    ・condition_id : アクション条件ID
    ・配信作成時にパラメータを追加した際、任意のパラメータとして追加される。

    ※押されたボタンによって、 [button_id] が変動する。
    基本的には 0 ~ 2 の ID が割り振られる。(「閉じる」ボタンは0)
     

    ※ event.valueが「-」のものは、デフォルトのパラメータのみが含まれます。

     

    ■ サーバーサイドイベント

    No event.name event.value
    1 _SS.push.success

    ・messageID: 配信ID
    payload: ペイロード

    2 _SS.push.retry ・messageID: 配信ID
    payload: ペイロード
    ・code: ステータスコード
    ・reason: エラー理由
    3 _SS.push.fail ・messageID: 配信ID
    payload: ペイロード
    ・code: ステータスコード
    ・reason: エラー理由
    4 _SS.coupon.appear

    ・providerUuid: 店舗のuuid
    ・providerName: 店舗の名前
    ・uuid: クーポンのuuid
    ・name: クーポン名
    ・shortDescription: クーポンの概要説明
    ・description: クーポンの詳細説明
    ・usableStartDate:有効開始日時
    ・usableEndDate:有効終了日時
    ・visibleStartDate: 表示開始日時
    ・visibleEndDate: 表示終了日時
    ・totalMaxCount: クーポン利用上限枚数
    ・userMaxCount: 1人あたり使えるクーポン枚数

    5 _SS.coupon.use ・providerUuid: 店舗のuuid
    ・providerName: 店舗の名前
    ・uuid: クーポンのuuid
    ・name: クーポン名
    ・shortDescription: クーポンの概要説明
    ・description: クーポンの詳細説明
    ・usableStartDate:有効開始日時
    ・usableEndDate:有効終了日時
    ・visibleStartDate: 表示開始日時
    ・visibleEndDate: 表示終了日時
    ・totalMaxCount: クーポン利用上限枚数
    ・userMaxCount: 1人あたり使えるクーポン枚数
    6 _SS.coupon.favorite ・providerUuid: 店舗のuuid
    ・providerName: 店舗の名前
    ・uuid: クーポンのuuid
    ・name: クーポン名
    ・shortDescription: クーポンの概要説明
    ・description: クーポンの詳細説明
    ・usableStartDate:有効開始日時
    ・usableEndDate:有効終了日時
    ・visibleStartDate: 表示開始日時
    ・visibleEndDate: 表示終了日時
    ・totalMaxCount: クーポン利用上限枚数
    ・userMaxCount: 1人あたり使えるクーポン枚数
    7 _SS.coupon.unfavorite ・providerUuid: 店舗のuuid
    ・providerName: 店舗の名前
    ・uuid: クーポンのuuid
    ・name: クーポン名
    ・shortDescription: クーポンの概要説明
    ・description: クーポンの詳細説明
    ・usableStartDate:有効開始日時
    ・usableEndDate:有効終了日時
    ・visibleStartDate: 表示開始日時
    ・visibleEndDate: 表示終了日時
    ・totalMaxCount: クーポン利用上限枚数
    ・userMaxCount: 1人あたり使えるクーポン枚数
    8 _SS.coupon.distribute ・providerUuid: 店舗のuuid
    ・providerName: 店舗の名前
    ・uuid: クーポンのuuid
    ・name: クーポン名
    ・shortDescription: クーポンの概要説明
    ・description: クーポンの詳細説明
    ・usableStartDate:有効開始日時
    ・usableEndDate:有効終了日時
    ・visibleStartDate: 表示開始日時
    ・visibleEndDate: 表示終了日時
    ・totalMaxCount: クーポン利用上限枚数
    ・userMaxCount: 1人あたり使えるクーポン枚数