SESSIONエンドポイントAPIリファレンス

SESSIONエンドポイントAPIリファレンス

サーバー間の使用例

Singular REST APIはSDKの代わりにサーバー間の直接統合を可能にします。LAUNCHまたはSession Endpointはアプリケーションのセッショントラッキングを可能にします。お客様のアプリがデバイス固有のデータをお客様のサーバーに転送し、サーバーがそのデータをSingularのサーバーに送信すると、Singularプラットフォームがその情報を処理します:インストール属性、再エンゲージメント属性、リテンションメトリクスのためにこの情報を処理します。この処理されたデータは、お客様のレポート、エクスポートログ、設定されたポストバックに自動的に入力され、お客様のマーケティングキャンペーンに包括的な分析を提供します。

SDKは自動的にデバイスとアプリのデータを収集しますが、S2Sアプローチでは、以下の作業が必要です:

  1. アプリから必要なデータポイントを収集する
  2. このデータをサーバーに転送
  3. データをREST API経由でSingularに送信
  4. Singularのレスポンスをアプリに戻す

session-data-flow.png

キーポイント

  • 柔軟性:データの収集と送信を完全にコントロール
  • 機能の同等性:適切なデータが提供されれば、すべてのSDK機能をサポート
  • 統合パス:クライアント → お客様のサーバー → Singular API
  • リアルタイム処理:一度に1つのリクエスト、バッチ処理なし
  • シーケンシャルなデータフロー:イベントは時系列に処理される
  • データの重複排除: Singularは受信データを重複排除しない。成功したリクエストを1つ送信し、リクエストが再生される場合に備えてログを保存しておくことを推奨する。
  • データの検証: デバイスレベルのデータは永続的であり、一度取り込まれると削除できません。データをSingularに送信する前に、正確性を確保するために徹底的なデータ検証を実施してください。

セッション管理

LAUNCHエンドポイントは、新しいユーザーセッションのアプリオープンイベントをSingularに通知するために使用されます。

  • セッションの初期化(起動リクエスト)は以下の場合に必要です:
    • 新しいアプリのインストール
    • 終了状態からのアプリの起動
    • アプリがバックグラウンドからフォアグラウンドに戻る
  • イベントトラッキングの前にセッションを確立する必要があります。
  • セッションの順序が無効な場合、データに矛盾が生じます。
  • セッションタイムアウトを実装し、アプリが過去1分以内に使用されなかった場合にのみ、SESSION通知をSingularに送信することを推奨します。ユーザーがアプリをバックグラウンドにした後、1分以内にアプリをフォアグラウンドにした場合、Singular SESSIONはトリガーされませんが、1分以上フォアグラウンドにした場合はSESSIONがトリガーされます。
  • ディープリンクをサポートするためには、'open_uri'パラメータにopenURLを指定したアプリのオープンに対して、常にSessionを送信する必要がある。

はじめに

Sessionエンドポイントのドキュメントを参照する:

SingularのS2S(Server-to-Server)統合の高度なオプションについては、セッション通知エンドポイントに追加のパラメータを含める必要がありますので、必ずご確認ください。詳細オプションについてはこちらをご覧ください。

セッションのレポート

Singularとの最も基本的な統合は、ユーザーセッションが発生するとSingularに通知し、Singularがいくつかの内部プロセスをトリガーできるようにすることです:

  • 特定のデバイスでのアプリの最初のセッションであれば、Singularは新規インストールを認識し、インストールアトリビューションプロセスをトリガーします。
  • セッションがリエンゲージメントセッションとして適格であれば、Singularはリエンゲージメントアトリビューションプロセスをトリガーします(詳しくはリエンゲージメントFAQをご覧ください)。
  • そうでない場合、Singularはそのセッションをセッションとしてマークし、ユーザーのアクティビティとリテンションメトリクスのトラッキングに使用します。

Singularサーバーへのセッションリクエストとその後のイベントリクエストのタイミングは非常に重要です:

  1. セッションはイベントの前に受け取らなければなりません
    例えば、ユーザーがアプリを使い始めると、Singular SDKはアプリオープンでセッションをトリガーします。ユーザーがアプリを長時間(1分以上)バックグラウンドに置くと、セッションはタイムアウトします。アプリをフォアグラウンドに戻すと、別のセッションが送信されます。アプリのライフサイクルイベントとタイマーを使ってセッションを管理し、Singularへのセッションリクエストを調整することをお勧めします。
  2. アプリで発生したイベントはリアルタイムで、それぞれのセッションの後に送信する必要があります

セッションAPIエンドポイント

HTTPメソッドとセッションエンドポイント

GET https://s2s.singular.net/api/v1/launch

必須パラメータ

次の表は、このエンドポイントがサポートする必須パラメータの一覧です。記載されているパラメータはすべてクエリ・パラメータです。

GET /api/v1/launch?param1=value1&param2=value2

 

  • すべての必須パラメータは、SESSION API リクエストに含める必要があります。
  • パラメータは、指定された形式とデータ型に従う必要があります。
必須パラメータ
API キー
パラメータ 説明
a
string

aパラメータはSingular SDK Keyを指定する。

SDKキーはSingular UIのメインメニューのDeveloper Toolsから取得してください。

注意:データが拒否されるため、レポートAPIキーは使用しないでください。

 

値の例
sdkKey_afdadsf7asf56
デバイス識別子パラメータ
パラメータ 説明
idfa

サポートされているプラットフォーム

  • iOS
string

idfaパラメータはIDFA(Identifier for Advertisers)を指定します。IDFAは広告主がユーザーのアクション(広告のクリックやアプリのインストールなど)を追跡し、特定のキャンペーンに関連付けるのに役立ち、正確な広告ターゲティングとキャンペーンの最適化を可能にします。

iOS 14.5以降、アプリがIDFAにアクセスする前に、ユーザーはApp Tracking Transparency(ATT)フレームワークを介してオプトインする必要があります。ユーザーがIDFAにオプトインしない場合、IDFAは利用できなくなり、トラッキング機能が制限されます。

  • IDFAが利用できない場合は、リクエストからパラメータを省略してください。
  • リクエストにNULLや空文字列を渡さないでください。
  • IDFA 識別子の取得方法

 

値の例
DFC5A647-9043-4699-B2A5-76F03A97064B
パラメータ 説明
idfv

サポートされているプラットフォーム

  • iOS
string

idfvパラメータはIdentifier for Vendors (IDFV)を指定します。IDFVはAppleがデバイスに割り当てる一意の識別子で、特定のベンダーまたはデベロッパーに固有のものです。これは、特定のベンダーまたはデベロッパーに固有のもので、特定のデバイス上の同じベンダーのすべてのアプリ間で一貫性を保ち、ベンダーがユーザーを個人的に特定することなく、そのアプリのエコシステム全体でユーザーの行動やインタラクションを追跡できるようにします。

  • IDFVは、ATTステータスやIDFAの有無にかかわらず、すべてのリクエストで要求されます。
  • IDFV識別子の取得方法

 

値の例
21DB6612-09B3-4ECC-84AC-B353B0AF1334
パラメータ 説明
aifa

サポートされているプラットフォーム

  • アンドロイド
    (グーグルプレイデバイス)
string

aifaパラメータはGoogle Advertising Identifier (GAID)を指定し、AIFA in SingularまたはAndroid Advertising ID (AAID)とも呼ばれる。この識別子は、Android端末に割り当てられた一意のユーザーリセット可能な識別子です。これにより、広告主やアプリ開発者は、アプリ全体のユーザーアクション(広告のクリックやアプリのインストールなど)を追跡し、特定のキャンペーンに関連付けることができるため、ユーザーのプライバシーを維持しながら、正確な広告ターゲティングとキャンペーンの最適化が可能になります。

  • AIFAが利用できない場合は、リクエストからパラメータを省略します。
  • Google Playデバイスでのみ必要です。
  • Google Play以外の端末ではパラメータを省略してください。
  • リクエストにNULLまたは空文字列を渡さないでください。
  • AIFA識別子の取得方法

 

値の例
8ecd7512-2864-440c-93f3-a3cabe62525b
パラメータ 説明
asid

サポートされているプラットフォーム

  • アンドロイド
    (グーグルプレイデバイス)
string

asidパラメータは、AndroidアプリセットIDを指定します。ASIDは、開発者がプライバシーに配慮した方法で自社のアプリ全体のユーザーを追跡する方法を提供します。特に分析や不正防止に役立ちますが、パーソナライズ広告や計測などの広告目的には使用できません。

  • ASIDは、GAID/AIFAの有無にかかわらず、Google Playデバイスに対するすべてのリクエストで必要です。
  • Google Play以外の端末ではパラメータを省略してください。
  • リクエストにNULLまたは空文字列を渡さないでください。
  • ASID識別子の取得方法

 

値の例
edee92a2-7b2f-45f4-a509-840f170fc6d9
パラメータ 説明
amid

サポートされているプラットフォーム

  • アンドロイド
    (グーグルプレイサービスなしのアマゾンデバイス)
string

amidパラメータは、Advertising IDがユーザーのプライバシー保護に役立つユーザーリセット可能な一意の識別子であることを指定します。インタレストベースの広告を表示するため、または分析を生成するためにユーザーの行動に関する情報を収集する場合は、Advertising IDを使用する必要があります。ユーザーは、Advertising IDをリセットしたり、インタレストベース広告をオプトアウトすることができます。

  • AMIDは、Google PlayサービスのないAmazonデバイスのすべてのリクエストで必須です。
  • AMIDを使用できない場合は、パラメータを省略します。
  • リクエストにNULLまたは空の文字列を渡さないでください。
  • AMID識別子の取得方法

 

値の例
df07c7dc-cea7-4a89-b328-810ff5acb15d
パラメータ 説明
oaid

サポートされているプラットフォーム

  • アンドロイド
    (グーグルプレイサービスのない中国製デバイス)
string

oaidパラメータは、Open Advertising Identifier(OAID)を指定します。OAIDは、特に中国で製造されたAndroidデバイスの広告目的で使用される一意の匿名識別子です。中国市場など、Google Playサービスが利用できない、またはサポートされていない端末のために、Googleの広告ID(GAID)の代替としてMobile Security Alliance(MSA)によって導入されました。

OAIDは主に、Google Playサービスが制限されている環境における広告のアトリビューションやユーザー追跡のために使用され、広告主や開発者は匿名性を維持しながらユーザーの行動を追跡することができます。

OAIDは、ファーウェイやシャオミなどのブランドを含む、ほとんどの中国製アンドロイド端末で利用できる。MSA SDKまたはHuawei Mobile Services(HMS)を使用してアクセスできる。

  • OAID は、Google Play Services を使用していない中国製の Android デバイスで必要です。
  • OAIDが利用できない場合は、パラメータを省略してください。
  • リクエストにNULLまたは空文字列を渡さないでください。
  • OAID識別子の取得方法

 

値の例
01234567-89abc-defe-dcba-987654321012
パラメータ 説明
andi

サポートされているプラットフォーム

  • アンドロイド
    (非Google Playデバイス)
string

andiパラメータは、Android IDを指定します。Android IDは、デバイスが最初にセットアップされたときにAndroidオペレーティングシステムによって生成される一意の64ビット識別子です。これは、デバイスのライフタイムを通じて永続的であるように設計されていますが、工場出荷時のリセットなどの特定の条件下でリセットすることができます。

Android IDは各デバイスに固有で、Android 8.0(Oreo)からはアプリごと、ユーザーごとにスコープされるようになった。つまり、同じデバイス上の異なるアプリは、同じ署名キーを共有しない限り、異なるAndroid IDを受け取ることになります。

Android IDは、デバイスがファクトリーリセットされない限り、またはOTA(無線)アップデート後にアプリがアンインストールされ再インストールされない限り、一定に保たれます。

  • ANDIは、Google Playデバイスでの使用が禁止されています。上記のAIFAおよびASID識別子を使用してください。
  • 他の識別子が使用できず、アプリがGoogle Playストアでホストされていない場合に限り、ANDIをSingularに送信できます。
  • 他の識別子が使用可能な場合は、パラメータを省略してください。
  • リクエストにNULLまたは空文字列を渡さないでください。
  • ANDI識別子の取得方法

 

値の例
fc8d449516de0dfb
パラメータ 説明
sdid

サポートされているプラットフォーム

  • PC
  • Xbox
  • プレイステーション
  • 任天堂
  • メタクエスト
  • CTV
string

sdidパラメータはSingular Device IDを指定する。この値はクライアント側で生成されたUUIDv4で、一意のアプリインストールを表します。これは、PCおよびコンソール・アプリケーションで使用される唯一のデバイス識別子です。

 

値の例
40009df0-d618-4d81-9da1-cbb3337b8dec
パラメータ 説明
sing

サポートされるプラットフォーム:

  • 特別なユースケースのために制限されています。
  • 詳細については、ソリューション・エンジニアまたはCSMにお問い合わせください。
string

singパラメータは、Enterprise カスタマに限定され、クライアント定義の識別子を指定します。他のすべての識別子が使用できない特別な用途でのみ使用されます。この識別子はSingular Solution Engineerがアプリごとに有効にする必要があります。

 

値の例
da534a95-1b1b-47d4-94b6-07955ec85177
デバイスパラメータ
パラメータ 説明
p
string

pパラメータはアプリのプラットフォームを指定する。

以下のリストには、大文字と小文字を区別する パラメータ値が含まれています:

  • Android
  • iOS
  • PC
  • Xbox
  • プレイステーション
  • 任天堂
  • メタクエスト
  • CTV

 

値の例
Android
パラメータ 説明
ip
string

ipパラメータは、デバイスのパブリック (IPV4) IP アドレスを指定する。IPV6 はサポートされていません。

 

値の例
172.58.29.235
パラメータ 説明
ve
string

veパラメータは、セッション時のデバイスのOSバージョンを指定する。

 

値の例
9.2
パラメータ 説明
ma

サポートされているプラットフォーム

  • アンドロイド
  • iOS
string

maパラメータは、デバイスハードウェアのMakeを指定する。このパラメータはmodelパラメータと一緒に使用する必要があります。

デバイスMakeの取得方法

 

Samsung, LG, Apple
パラメータ 説明
mo

サポートされているプラットフォーム

  • アンドロイド
  • iOS
string

moパラメータは、デバイスハードウェアのモデルを指定します。このパラメータはmakeパラメータと一緒に使用する必要があります。

デバイスモデルの取得方法

 

iPhone 4S, Galaxy SIII
パラメータ 説明
lc

サポートされているプラットフォーム

  • アンドロイド
  • iOS
string

lcパラメータは、アンダースコアで区切られた2文字の言語と国コードを使用して、デバイスのIETFロケールタグを指定します。

デバイスロケールの取得方法

 

値の例
en_US
パラメータ 説明
bd

サポートされているプラットフォーム

  • アンドロイド
  • iOS
string

bdパラメータは、URLエンコードされたデバイスのBuildを指定します。

デバイスのビルドを取得する方法

 

値の例
Build%2F13D15
アプリケーション・パラメータ
パラメータ 説明
i
string

iパラメータはアプリケーション識別子を指定する。

大文字と小文字を区別します

  • Android用パッケージ名
  • iOS用バンドルID
  • PC、Xbox、Playstation、Nintendo、MetaQuest、またはCTV用の指定識別子です。

 

値の例
com.singular.app
パラメータ 説明
app_v
string

app_vパラメータはアプリケーション・バージョンを指定する。

 

1.2.3
パラメータ 説明
install
string

installパラメータは、このセッションがインストール後または再インストール後の最初の セッションであるかどうかを指定する。アプリインストール後の最初のセッションである場合は「true」を、アプリがインストール済みで後続のセッションまたはアプリを開いている場合は「false」を渡します。このパラメータは、再インストールのトラッキング機能に必要です。

 

true
パラメータ 説明
install_time

サポートされているプラットフォーム

  • アンドロイド
  • iOS
int

install_timeパラメータは、アプリを最初にインストールした時刻をUNIX時間で指定します。この値を取得するには、プラットフォーム上のリンクを使用します。

 

値の例
1510040127
パラメータ 説明
update_time

サポートされているプラットフォーム

  • アンドロイド
  • iOS
int

update_timeパラメータは、アプリの最終更新時刻をUNIX時間で指定します。この値を取得するには、プラットフォームのリンクを使用してください。

 

値の例
1510040127
パラメータ 説明
att_authorization_status

サポートされているプラットフォーム

  • iOS
int

att_authorization_statusパラメータは、App Tracking Transparency(ATT)ステータスコードを指定します。iOS 14.5以降、IDFA識別子にアクセスするにはApp Tracking Transparency (ATT)プロンプトが必要です。

注:ATTプロンプトを実装しない場合でも、ATT認可ステータスに「未定」を示す値「0」を渡す必要があります。

サポートされる値は以下のとおり:

  • 0 - 未定。
  • 1 - 制限、ユーザーはアプリのトラッキングを無効にしています。
  • 2 - 拒否: ユーザーが承認を拒否しました。
  • 3 - 認証済み: ユーザーが認証を許可しました。

 

3
不正パラメータ
パラメータ 説明
install_source

サポートされているプラットフォーム

  • アンドロイド
  • PC
string

install_sourceパラメータは、Androidのインストールソースパッケージ名を指定します。PCのインストールソースとして推奨される値は、インストールストアです。

PCでサポートされているインストールストア名には以下が含まれます:

  • スチーム
  • エピック
  • マイクロソフトストア
  • ハンブルストア
  • ゴッグ
  • 自己配布

 

Android(GooglePlayストア)の例:

com.vending.android
パラメータ 説明
install_receipt

サポートされているプラットフォーム

  • iOS
string

install_receiptパラメータは、インストール時に受け取ったレシートを指定します。取得方法は iOS Install Receipt を参照してください。

 

iOSのレシートをbase64エンコードした例:
MIJF9wYJKoZIhvcNAQcCoIJF6DCCReQCAQExCzAJBgUrDgMCGgUAMII1mAYJKoZIhvcNAQcBoII1iQSCNYUxgjWBMAoCAQgCAQEEAhYAMAoCARQCAQEEAgwAMAsCAQECAQEEAwIBADALAgELAgEBBAMCAQAwCwIBDwIBAQQDAgEAMAsCARACAQEEAwIBADALAgEZAgEBBAMCAQMwDAIBAwIBAQQEDAIyNTAMAgEKAgEBBAQWAjQrMAwCAQ4CAQEEBAICAM8wDQIBDQIBAQQFAgMCIuAwDQIBEwIBAQQFDAMxLjAwDgIBCQIBAQQGAgRQMjU1
ディープリンクパラメータ
パラメータ 説明
openuri

サポートされているプラットフォーム

  • アンドロイド
  • iOS
URL-encoded string

openuriパラメータは、アプリが任意のディープリンク、iOSユニバーサルリンク、またはAndroidアプリリンクを介して開いたかどうかを指定し、URLエンコードされたオープンURLの値を提供する必要があります。

オープンURL:
myapp://home/page?queryparam1=value1&queryparam2=value2

 

値の例:
myapp%3A%2F%2Fhome%2Fpage%3Fqueryparam1%3Dvalue1%26queryparam2%3Dvalue2
パラメータ 説明
ddl_enabled

サポートされているプラットフォーム

  • アンドロイド
  • iOS
string

ddl_enabledパラメータは、アプリがディファードディープリンクをサポートするかどうかを指定します。サーバーがディファードディープリンクURLが返されることを期待する場合は'true'を、そうでない場合は'false'を渡します。

 

値の例
true

 

レスポンスの例
{
  "deferred_deeplink": "myapp://deferred-deeplink",
  "status": "ok",
  "deferred_passthrough": "passthroughvalue"
}
パラメータ 説明
singular_link_resolve_required

サポートされているプラットフォーム

  • アンドロイド
  • iOS
string

singular_link_resolve_requiredパラメータは、Singularショートリンクを解決するために使用します。openuri'に Singular short link の値を指定して送信する必要があります。展開されたショートリンク (ロングリンク) が返されることをサーバが期待している場合は'true' を、そうでない場合は'false' を渡します。ショートリンクの処理を参照。

 

値の例:
true

 

レスポンスの例:
{
  "status":"ok",
  "resolved_singular_link":"https://myapp.sng.link/A59c0/nha7?_dl=myapp%3A%2F%2Fdeeplink&_ddl=myapp%3A%2F%2Fdeferred-deeplink&_p=passthroughvalue"
}
高度な属性パラメータ
パラメータ 説明
install_ref

サポートされているプラットフォーム

  • アンドロイド
    (グーグルプレイデバイス)
JSON URL-encoded string

install_refパラメータは、Google Install Referrer Informationを指定します。インストールリファラーには、ユーザを Google Play ストアに送り込んだ人についての情報が含まれます。インストールリファラを Singular で利用できるようにすると、 インストールの属性付けを最も正確に行うことができます。この値を取得し、最初のセッション通知コールで Singular に渡します。

{
   "installBeginTimestampSeconds":"1568939453",
   "referrer":"utm_source=google-play&utm_medium=organic",
   "clickTimestampSeconds":"0",
   "referrer_source":"service",
   "current_device_time":"1568944524"
}

User-Level Exports で Facebook のデータを受け取ったり、Data Destinations と共有したり、ポストバックを送信したりといった、Singular の重要な機能にはこの値が必要です。

Google Playは、ユーザーがストアに到着したときにリファラー情報を収集します。Google Playは、ユーザーがストアにアクセスした際にリファラー情報を収集します。ユーザーがアクセス先のアプリをインストールした場合、Google Playはその情報をアプリに提供します。詳細については、Googleの開発者向けドキュメントを参照してください。

 

値の例
%7B%22installBeginTimestampSeconds%22%3A%221568939453%22%2C%22referrer%22%3A%22utm_source%3Dgoogle-play%26amp%3Butm_medium%3Dorganic%22%2C%22clickTimestampSeconds%22%3A%220%22%2C%22referrer_source%22%3A%22service%22%2C%22current_device_time%22%3A%221568944524%22%7D
パラメータ 説明
meta_ref

サポートされているプラットフォーム

  • アンドロイド
    (グーグルプレイデバイス)
JSON URL-encoded string

meta_refパラメータは、広告主がAndroidアプリのインストールに関する詳細なユーザーレベルのアトリビューションデータにアクセスできるようにするためにFacebookが導入したAndroid固有の測定ソリューションである「Meta Referrer」を指定します(Facebookのデータポリシーを参照)。Google Play Install Referrer」(「Passing Google Install Referrer」を参照)と「Meta Install Referrer」の両方のテクノロジーをアプリインストール計測のために実装することで構成されています。Meta Referrerの詳細については、このトピックに関するFAQをご覧ください。

{
  "install_referrer": {
    "utm_source":"apps.facebook.com",
    "utm_campaign": "fb4a",
    "utm_content": {
      "source":{
        "data":"c7e6b890bf18a059c2185650bdb1af3dced7...",
        "nonce":"24859720343e2381daee9f39ae61"
        },
      "app":533744218636280,
      "t":1731181327
      },
    "is_ct":1,
    "actual_timestamp":1731181444,
  }
}

 

値の例
%7B%22install_referrer%22%3A%7B%22utm_source%22%3A%22apps.facebook.com%22%2C%22utm_campaign%22%3A%22fb4a%22%2C%22utm_content%22%3A%7B%22source%22%3A%7B%22data%22%3A%22c7e6b890bf18a059c2185650bdb1af3dced7...%22%2C%22nonce%22%3A%2224859720343e2381daee9f39ae61%22%7D%2C%22app%22%3A533744218636280%2C%22t%22%3A1731181327%7D%2C%22is_ct%22%3A1%2C%22actual_timestamp%22%3A1731181444%2C%7D%7D
パラメータ 説明
attribution_token

サポートされているプラットフォーム

  • iOS
string

attribution_tokenパラメータは、AdServicesフレームワークを介してiOS 14.3+で取得されたApple Search Adsのアトリビューショントークンを指定します。

インストールまたは再インストール後にアプリが初めて初期化されると同時に、attributionToken() を使用してアトリビューショントークンを取得します。

 

値の例
KztLg%2FIkNsWDMuBMOU%2BySnkPU5myJb4OFmeaMUE%2BTqQJP1HWL%2FBdpQKNHSnghf0uQpWDsdNcoWHHlXzrRta22Aww4QsUdPGKLwAAAVADAAAAwgAAAIAOMB3LOGJVmcso4G42C3bF8API7suoQgqrM9xfbMKtjpn0anD4Xca2Ma8fMa%2FZLBqWalHYmm58zs4bH1XUDtBcSex1d80D4AhnnPoSYFukr%2ACfLCEnT2lHurPb5cPPQ17ewCd3ctuuZYGHuvV66AkU1ExJUguciTXTNEgY%2Fc19rQAAAB%2BF8udKcAQxkREhEtyGQGRUFydziffiLHBN7bXKSHPFAAAAnwGYh9H%2BPP4rEQGnbnTiQUnkfqgfKQAAAIYCCLjE6nnxqwDQPb4%2FF0Wve%2FVnSwwUxYGsi2a3V5dioUgCzty2kAG8kUsNjk0rU0Z0UrOhvCR%2FGfLXQv7HsMIZlbeKoHast6%2BXfiFsA2x244gztybPDecoGAvsmOeBKxjJqPDGqYxIpBgGaggGg1wonia%2BhxqjcLpEKG%2F%2F%2FEOZb3Jdf%2FaN%2FQABBEkLAAA%3D

リクエスト・ボディ

このメソッドを呼び出すときは、リクエスト・ボディを指定しないでください。リクエストはクエリパラメータ付きのGETメソッドを使用して送信する必要があります。

 

リクエストの例

以下のコードサンプルは、サポートされているすべてのパラメータを表しているわけではありません。リクエストを実装する際には、上記のように必要なパラメータをすべて含めるようにし、本番インスタンスからデータを送信する前に正しい値が渡されていることを確認してください。開発とテストのために、一意な `i` パラメータ(アプリケーション識別子)を使用することを推奨します。

 

PYTHON CURL HTTP JAVA

PYTHON

import requests

params = {
    'a': 'sdk_key_here',
    'p': 'Android',
    'i': 'com.singular.app',
    'ip': '10.1.2.3',
    've': '9.2',
    'ma': 'samsung',
    'mo': 'SM-G935F',
    'lc': 'en_US',
    'aifa': '8ecd7512-2864-440c-93f3-a3cabe62525b',
    'asid': 'edee92a2-7b2f-45f4-a509-840f170fc6d9',
    'install': 'true',
    'n': 'MyCoolAppName',
    'bd': 'Build/13D15',
    'app_v': '1.2.3',
    'openuri': 'myapp://home/page?queryparam1=value1',
    'ddl_enabled': 'true',
    'install_source': 'com.android.vending',
    'install_time': 1510040127,
    'update_time': 1510090877
}

response = requests.get('https://s2s.singular.net/api/v1/launch', params=params)
print(response.json())

 

オプションのパラメータ

次の表は、このエンドポイントがサポートするオプション・パラメーターの一覧です。リストされているパラメータはすべてクエリ・パラメータです。

オプション・パラメータ
タイムスタンプ・パラメータ
パラメータ 説明
utime
int

utimeパラメータは、セッションの時間を10桁のUNIX時間で指定します。

 

値の例:

1483228800
パラメータ 説明
umilisec
int

umilisecパラメータは、セッションの時間をミリ秒 13 桁の UNIX 時間で指定する。

 

値の例

1483228800000
デバイスとネットワークパラメータ
パラメータ 説明
global_properties
JSON URL-encoded string

global_propertiesパラメータは、最大5つのキーと値のペアを含むURLエンコードされたJSONオブジェクトを受け付ける。各キーと値の長さは最大200文字です。

{"key1":"value1","key2":"value2"}

JSONオブジェクトは次のようにする必要があります:

  • JSON文字列に変換され、URLエンコードされていること。

 

値の例

%7B%22key1%22%3A%22value1%22%2C%22key2%22%3A%22value2%22%7D
パラメータ 説明
use_ip
string

use_ipパラメータは、'ip' パラメータの代わりに HTTP リクエストから IP アドレスを抽出するように Singular に指示します。この機能を使うには'true' を渡します。

  • このパラメータを使用すると、SingularはIPアドレスに基づいてデバイスをジオロケーションすることができなくなります。 オプションの 'country' パラメータにユーザの国コード (2文字) を指定することができます。
  • このパラメータは'ip'パラメータと排他的です。ip' パラメータと一緒に使用しないでください。
  • データの拒否を避けるためには、リクエスト時に 'ip' パラメータか 'use_ip' パラメータを指定する必要があります。

 

値の例

true
パラメータ 説明
country
string

countryパラメータは、セッション実行時のユーザーのISO 3166-1 alpha-2二文字の国コードを含むべきである。このパラメータは以下の場合にのみ必要とされる:

  • ip」パラメータが使用できない。
  • ip」パラメータが使用可能な場合、国はIPアドレスから自動的に決定され、 「country」パラメータは不要である。

 

値の例

US
パラメータ 説明
ua
URL-encoded string

uaパラメータはデバイスのUser Agentを指定する。

Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148

値はURLエンコードされていなければならない。

 

値の例

Mozilla%2F5.0%20(iPhone%3B%20CPU%20iPhone%20OS%2014_0%20like%20Mac%20OS%20X)%20AppleWebKit%2F605.1.15%20(KHTML%2C%20like%20Gecko)%20Mobile%2F15E148
パラメータ 説明
c

対応プラットフォーム

  • iOS
  • アンドロイド
string

cパラメータは、ネットワーク接続タイプ「wifi」または「carrier」を指定します。

 

値の例

wifi
パラメータ 説明
cn

サポートされているプラットフォーム

  • iOS
  • アンドロイド
string

cnパラメータは、インターネットプロバイダのキャリア名を指定します。

 

値の例

Comcast
トラッキングサポートのアンインストール
パラメータ 説明
apns_token

サポートされているプラットフォーム

  • iOS
string

apns_tokenパラメータは、Apple Push Notification Service (APNS) Device Token を指定します。

    • iOSのアンインストール・トラッキングに必要です。
    • APNS Tokenは、必ず16進数でエンコードされた文字列として渡してください。
    • APNS Tokenの取得方法

 

値の例

b0adf7c9730763f88e1a048e28c68a9f806ed032fb522debff5bfba010a9b052
パラメータ 説明
fcm

対応プラットフォーム

  • Android
string

fcmパラメータは Firebase Cloud Messaging Device Token を指定します。

  • Android のアンインストールトラッキングに必要です
  • 。 FCM トークンの取得方法
  • 次に、Singular にセッションを報告する際に、次の例のように fcm パラメータでデバイストークンを渡します:

 

値の例

bk3RNwTe3H0CI2k_HHwgIpoDKCIZvvD...MExUdFQ3P1
データプライバシー
パラメータ 説明
data_sharing_options
JSON URL-encoded string

data_sharing_optionsパラメータは、情報共有に対するエンドユーザーの同意を指定します。設定された場合、この値は永続化され、そのユーザのその後の 'SESSION' および 'EVENT' リクエストごとに渡される必要があります。

  • ユーザが情報を共有することに同意した(opted-in)ことを示すには、'false'を渡す:
    {"limit_data_sharing":false}
  • ユーザが拒否した場合は 'true' を渡す:
    {"limit_data_sharing":true}

値はURLエンコードされたJSON文字列でなければならない。

 

値の例

%7B%22limit_data_sharing%22%3Atrue%7D
パラメータ 説明
dnt

サポートされているプラットフォーム

  • アンドロイド
  • iOS
int

dntパラメータはDo Not Trackのステータスを指定する。Do Not Trackが有効な場合は1を、無効な場合は0を渡す。

 

値の例
0
パラメータ 説明
dntoff

サポートされているプラットフォーム

  • iOS
  • アンドロイド
int

dntoffパラメータは、Do Not Trackがオフかどうかを指定する。追跡しない」が有効な場合は0を、「追跡しない」が無効な場合は1を渡す。

 

値の例
1
クロスデバイスサポート
パラメータ 説明
custom_user_id
string

custom_user_idパラメータは、内部ユーザIDを指定する。

 

値の例

123456789abcd
iOSのSkAdNetworkサポート
パラメータ 説明
skan_conversion_value

対応プラットフォーム

  • iOS
int

skan_conversion_valueパラメータは、このセッション通知の時点での最新のSKAdNetwork変換値を指定します(SKAdNetworkの実装についての詳細はこちら)。

 

値の例

7
パラメータ 説明
skan_first_call_timestamp

サポートされているプラットフォーム

  • iOS
int

skan_first_call_timestampパラメータは、基礎となるSkAdNetwork APIへの最初のコールのUnixタイムスタンプを指定します(SKAdNetworkの実装についての詳細はこちら)。

 

値の例

1483228800
パラメータ 説明
skan_last_call_timestamp

サポートされているプラットフォーム

  • iOS
int

skan_last_call_timestampパラメータは、このセッション通知時に基礎となるSkAdNetwork APIへの最新のコールのUnixタイムスタンプを指定します(SKAdNetworkの実装についての詳細はこちら)。

 

値の例

1483228800

セッションテスト

サーバー間の統合を行った後、製品インスタンスを本番稼動させる前に、Singularがデータを受信していることを確認することが不可欠です。詳細はテストガイドを参照してください。高レベルでは以下のステップに従う必要があります:

  1. テストデバイスの Advertising ID を取得し、Singular SDK コンソールに ID を追加します。
  2. Singular SDK コンソールを開き、デバイス識別子を追加してデータのキャプチャを開始します。
  3. アプリ識別子を開発用アプリ識別子(com.singular.app.dev)でオーバーライドし、テストデータとイベントを本番データと分離します。
  4. 終了状態からアプリをビルドまたはオープンする
  5. App Openが必要なすべてのSingularデータポイントとともにサーバーに送信されることを検証します。
  6. サーバーが、必要なすべてのデータポイントとともに、Singular の'launch' エンドポイントに Session Notification をトリガーすることを検証します。
  7. 数秒後、Singular SDKコンソールにSessionイベントが表示されます。
    s2s_session.png
  8. このテストを繰り返し、すべてのアプリのエントリまたは「フォアグラウンド」操作から、アプリのオープンがセッションをトリガーすることを検証します。
重要な検証

セッションイベントがアプリのオープンまたはフォアグラウンドで発生し、イベントを受信する前に発生することを確認します。

SDKコンソールにセッションが表示されれば、SESSION処理のエンドツーエンドのテストは完了です!