サーバーからサーバー(S2S)APIエンドポイント参照

このリファレンス記事は、SingularがS2S統合のために提供するAPIエンドポイントの一覧です。

注:サーバー間統合はEnterpriseのお客様のみご利用いただけます

更新[2021年11月]:Androidのインストールリファラーをセッション通知エンドポイント(イベント通知ではありません)で報告するようになりました。 これにより、ユーザーがアプリを開いたときにインストールリファラーがすぐにSingularで利用できるようになり、Googleのベストプラクティスに従います。詳しくは、Google Play Install Referrerの送信(Android)をご覧ください。

 

認証とステータスコード

S2S APIを呼び出すには、SDK Keyが必要です。SDKキーを取得するには、Singularにログインし、"Developer Tools > SDK Integration > SDK Keys "にアクセスしてください。

S2S APIの呼び出しが成功した場合、HTTPステータスコードは200になります。それ以外の場合は、再試行が必要です。

Singular S2S APIエンドポイント一覧

以下のAPIエンドポイントが利用可能です:

セッション通知 GET https://s2s.singular.net/api/v1/launch 新しいセッションをSingularに報告する。
イベント通知 GET https://s2s.singular.net/api/v1/evt アプリ内イベントをSingularに報告します。

セッション通知エンドポイント

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

セッションをSingularに報告するには、セッション通知エンドポイントを使います。

必要なセッションパラメータ

パラメータ 説明 対応プラットフォーム
a 特異なSDKキー。 iOS, Android,
PC, Console
your_org_name_sh868sdjv
p 以下のいずれかのプラットフォーム
Android, iOS, PC, Xbox, Playstation, Nintendo, MetaQuest or CTV
iOS, Android,
PC, Console
Android
i アプリケーションのパッケージ名(Android)またはバンドルID(iOS)。 iOS, Android,
PC, Console
com.singular.app
ip デバイスのIP iOS, Android,
PC, Console
172.58.29.235
ve セッション時の端末のOSバージョン iOS, Android,
PC, Console
9.2
install_ref Googleインストールのリファラー情報 Android 詳細はこちら
meta_ref メタインストールリファラー情報 Android さらに詳しく
asid アプリセットID(Android 12以上の端末用) Android 詳細
ma デバイスのハードウェアの製造元で、通常は消費者向けの名前です(例:Samsung、LG、Apple)。このパラメータはmodelパラメータと一緒に使用する必要があります。 iOS, Android samsung
mo デバイスハードウェアのモデル(例:iPhone 4S、Galaxy SIII)。このパラメータは、make パラメータと一緒に使用する必要がある。 iOS, Android SM-G935F
lc デバイスのIETFローカルタグ。アンダースコアで区切られた2文字の言語と国コードを使用する。 iOS, Android en_US
bd URLエンコードされたデバイスのビルド iOS, Android Build%2F13D15
openuri アプリがディープリンク/ユニバーサルリンク/アプリリンク経由で開かれた場合、エンコードされたディープリンクURL値。 iOS, Android myapp%3A%2F%2Fhome%2Fpage%3 Fqueryparam1%3D value1%26queryparam2%3 Dvalue2
idfa iOSアプリのみ。ダッシュ付きの大文字の生の広告ID iOS DFC5A647-9043-4699-B2A5-76F03A97064B
idfv iOSアプリのみ。大文字の生のIdentifierForVendor(ダッシュ付き)。 iOS 21DB6612-09B3-4ECC-84AC-B353B0AF1334
aifa Androidアプリのみ。小文字の生の広告ID(ダッシュ付き)。 Android 8ecd7512-2864-440c-93f3-a3cabe62525b
andi Androidアプリのみ。小文字のrawandroid ID。 Android Advertising IDがデバイスで利用できない場合にのみ必要。 Android fc8d449516de0dfb
sdid

PC/コンソール:クライアント側で生成されたUUIDで、ゲームの一意のインストールを表します。

PC, Console 40009df0-d618-4d81-9da1-cbb3337b8dec
dnt 追跡禁止が有効な場合は1を、無効な場合は0を渡す。 iOS, Android 1
app_v アプリのバージョン iOS, Android 1.2.3
install_source

Android のインストール元パッケージ名 (例: 'com.android.vending') この値を取得するには、InstallSourceInfo.getInitiatingPackageName() を使用します。

 

PC上のインストールストア。サポート/推奨される値は次のとおりです: steam, epic, microsoftstore, humblestore, gog, selfdistributed

Android, PC

Android:

com.vending.android (Android)

steam (PC)


install_receipt インストール時に受け取ったレシート。取得方法はiOS Install Receiptを参照してください。 iOS MIISqwYJKoZI...cNqts0jvcNvPcK7 yuj0KhJ9nTTQ54kDKfReihzc6aw==
install インストール・フラグ。セッションがアプリのインストール後の最初のものであれば「true」。そうでない場合は 'false'。再インストールのトラッキングに必要。 iOS, Android,
PC, Console
false
install_time UNIX時間として、アプリを最初にインストールした時間。この値を取得するには、プラットフォーム上のリンクを使用します。 iOS, Android 1510040127
update_time アプリの最終更新時刻(UNIX時間)。この値を取得するには、プラットフォームのリンクを使用します。 iOS, Android 1510040127
ddl_enabled 遅延ディープリンクフラグ。サーバーが遅延ディープリンクURLが返されることを期待する場合は'true'。そうでない場合は 'false'。詳細は遅延ディープリンクのセクションを参照。 iOS, Android true
singular_link_resolve_required Singularショートリンクを解決するために使用します。openuri "の値がSingularショートリンクでなければならない。ショートリンクの処理を参照。

iOS,
Android

true
att_authorization_status *

iOS 14以上で使用可能。App Tracking Transparencyの認証ステータス

サポートされている値は以下の通り:

  • 0 - Undetermined ATTプロンプトはまだ表示されていません。 iOS 14.5+ではIDFAを使用できません。
  • 1 - Restricted ユーザーはATTプロンプトを表示するオプションを無効にしています。 IDFAは使用できません。
  • 2 - Denied ATTプロンプトが表示され、承認が拒否されました。 IDFAは使用できません。
  • 3 - Authorized ATTプロンプトが表示され、承認されました。 IDFAは使用可能です。
iOS 3

* 注: iOS 14.5以降、IDFAにアクセスするにはApp Tracking Transparency(ATT)プロンプトが必要ですATTプロンプトを実装しない場合でも、ATT認可ステータスをSingularに渡す必要があります(値は「未確定」を示す「0」)。

オプションのセッションパラメータ

パラメータ 説明 対応プラットフォーム
custom_user_id User ID iOS, Android,
PC, Console
 123456789abcd
n UI に表示される、人間が読めるアプリケーションの名前。 iOS, Android,
PC, Console
MyCoolApp
utime UNIX 時間でのセッションの時間。 iOS, Android,
PC, Console
1483228800
umilisec UNIX 時間でのセッションの時間。 iOS, Android,
PC, Console
1483228800000
dntoff 追跡しない」が有効な場合は 0 を、「追跡しない」が無効な場合は 1 を渡す。 iOS, Android 0
c 接続タイプ 'wifi'または'carrier'。 iOS, Android wifi
cn インターネットプロバイダのキャリア名。 iOS, Android コムキャスト
use_ip HTTP リクエストから 'ip' フィールドの代わりに IP フィールドを抽出します。 IP パラメータと一緒に使用しないでください。 iOS, Android,
PC, Console
true
fcm Firebase Cloud Messaging Device Token。Android のアンインストール・トラッキングに必要です。 Android bk3RNwTe3H0CI2k_ HHwgIpoDKCIZvvD MExUdFQ3P1
gcm Google Cloud Messaging Device Token。Android アンインストール追跡(レガシー)に必要です。 Android bk3RNwTe3H0CI2k_ HHwgIpoDKCIZvvDM ExUdFQ3P1
apns_token Apple Push Notification Service Device Token。iOS のアンインストールトラッキングに必要です。 iOS b0adf7c9730763f88e1a048e28c68a9f806ed032fb522deb...ff5bfba010a9b052
ua デバイスのユーザーエージェント iOS, Android,
PC, Console
Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
attribution_token iOS 14.3以上のApple Search Adsの属性に使用されます。 この値はAdServicesフレームワークから取得できます。 取得方法については、AdServicesによるApple Search Adsの実装をご覧ください。 iOS G9i5hC8lQJeGOfmS+MFycll/02...AAABBEQQBQA=
skan_conversion_value このセッション通知の時点における最新のSKAdNetworkコンバージョン値(SKAdNetworkの実装についてはこちら)。 iOS 0 - 63
skan_first_call_timestamp 基礎となるSkAdNetwork APIへの最初の呼び出しのUnixタイムスタンプ(SKAdNetworkの実装について詳しくは、こちらをご覧ください。 iOS 1483228800
skan_last_call_timestamp このセッション通知の時点で、基礎となるSkAdNetwork APIへの最新の呼び出しのUnixタイムスタンプ(SKAdNetworkの実装について詳しくは、こちらをご覧ください。 iOS 1483228800
global_properties 最大5つのグローバルプロパティを定義できます。各プロパティのキーと値の長さは200文字までです。それ以上のプロパティ名や値を渡すと、200文字に切り詰められます。値はURLエンコードされたJSONオブジェクトでなければなりません。 iOS, Android,
PC, Console
%7B%22key1%22%3A%22value1%22%2C%22key2%22%3A%22value2%22%7D
data_sharing_options

情報共有に対するエンドユーザーの同意を示す。設定された場合、この値は永続化され、そのユーザーに対するその後の/launchおよび/evtリクエストごとに渡されなければならない。

limit_data_sharing":falseを渡すと、ユーザが情報の共有に同意した(オプトインした)ことを示す。

ユーザーが拒否した場合は、"limit_data_sharing":trueを渡します。

オプション

%7B%22limit_data_sharing%22%3Atrue%7D

サンプルAPIコール

Python HTTP cURL Java
import requests
import json
  
   SDK_KEY = '[開発者ツール>SDK統合>SDKキーのsdk_key]'
   LAUNCH_URL = 'https://s2s.singular.net/api/v1/launch'
  
   params = {
       'a': SDK_KEY,
       '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',
       'andi': 'fc8d449516de0dfb',
       'utime': 1483228800,
       'dnt': 0,
       'install':'true',
       'n': 'MyCoolApp',
       'c': 'wifi',
       'cn': 'Comcast',
       'bd': 'Build/13D15',
       'fcm':'bk3RNwTe3H0CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1',
       'app_v':'1.2.3',
       'openuri':'myapp%3A%2F%2Fhome%2Fpage%3Fqueryparam1%3Dvalue1',
       'ddl_enabled':'false',
       'install_source': 'com.android.vending',
       'install_time': 1510040127,
       'update_time': 1510090877,
'custom_user_id': '123456789abcd',
'global_properties': json.dumps({"key1":"value1","key2":"value2"}) } result = requests.get(LAUNCH_URL, params=params) print result.json()

イベント通知エンドポイント

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

セッション以外のアプリケーションで発生したイベントを報告するには、このエンドポイントを使用します。

必要なイベントパラメータ

パラメータ 説明 対応プラットフォーム
n

イベントの名前。

Singularの標準イベント命名規則を使用することを推奨します。

iOS, Android, Web,
PC, Console
sng_add_to_cart
a Singular SDKキー。 iOS, Android, Web,
PC, Console
a42be1d8119389dd36c7_acbeaf6abcd8
p 以下のプラットフォームのいずれか:
Android, iOS, Web, PC, Xbox, Playstation, Nintendo, MetaQuest or CTV
iOS, Android, Web,
PC, Console
Android
i モバイルアプリケーションのパッケージ名(Android)またはバンドルID(iOS)、またはWebSDKのProductID。 iOS, Android, Web,
PC, Console
com.yourcompany.app
ip イベントのIP。 iOS, Android, Web,
PC, Console
172.58.29.235
idfa iOSアプリのみ。ダッシュ付きの大文字の生の広告ID iOS DFC5A647-9043-4699-B2A5-76F03A97064B
idfv iOSアプリのみ。ダッシュ付きの大文字の生のIdentifierForVendor iOS 21DB6612-09B3-4ECC-84AC-B353B0AF1334
aifa Androidアプリのみ。小文字の生の広告ID(ダッシュ付き)。 Android 8ecd7512-2864-440c-93f3-a3cabe62525b
asid アプリセットID(Android 12+デバイス用)詳細 Android edee92a2-7b2f-45f4-a509-840f170fc6d9
andi Androidアプリのみ。小文字の生のアンドロイドID。 Android Advertising IDがデバイスで利用できない場合にのみ必要です。 Android fc8d449516de0dfb
sdid

ウェブ:Singular WebSDKが提供するUUIDv4デバイスID詳細

PC/コンソール:ゲームのユニークなインストールを表す、クライアントサイドで生成されたUUID。

Web, PC, Console 40009df0-d618-4d81-9da1-cbb3337b8dec
ve イベント時のデバイスのOSバージョン。 iOS, Android, Web,
PC, Console
9.2
att_authorization_status * App Tracking Transparencyの認証ステータス。 iOS 14+で利用可能。

サポートされる値:

  • 0 - Undetermined ATTプロンプトはまだ表示されていません。 iOS 14.5+ではIDFAを使用できません。
  • 1 - Restricted ユーザーはATTプロンプトを表示するオプションを無効にしています。 IDFAは使用できません。
  • 2 - Denied ATTプロンプトが表示され、承認が拒否されました。 IDFAは使用できません。
  • 3 - Authorized ATTプロンプトが表示され、承認されました。IDFAが使用可能
iOS 3

* 注:iOS 14.5以降、デバイスのIDFAにアクセスするには、App Tracking Transparency(ATT)プロンプトが必要ですATTプロンプトを実装しない場合でも、ATT認可ステータスをSingularに渡す必要があります(値は「未確定」を示す「0」)。

オプションのイベントパラメータ

パラメータ 説明 対応プラットフォーム
custom_user_id User ID  iOS, Android, Web,
PC, Console
123456789abcd
utime UNIX時間でのイベント発生時刻。注意:この時間はインストール時間より短くしてはならない(MUST NOT)。 iOS, Android, Web,
PC, Console
1483228800
umilisec UNIX時間でのイベントの時間(ミリ秒)。注意:この時間はインストール時間未満であってはならない(MUST NOT)。 iOS, Android, Web,
PC, Console
1483228800000
use_ip HTTP 要求から IP フィールドを抽出します。これをtrueに設定する場合は、ipパラメータを指定しないでください。 iOS, Android, Web,
PC, Console
true
e

JSON形式のカスタム・イベント属性。

Singular の標準イベント属性の命名規則を使用することを強く推奨します。

iOS, Android, Web,
PC, Console
%7B%22sng_attr_content_id%22%3A5581%2C
sng_attr_content%22%3A%22XBox%22%2C%22
sng_attr_content_type%22%3A%22electronics%22%7D
global_properties 最大5つのグローバルプロパティを定義できます。各プロパティのキーと値は200文字までです。これより長いプロパティ名や値を渡すと、200文字に切り詰められます。値はURLエンコードされたJSONオブジェクトでなければなりません。 iOS, Android, Web,
PC, Console
%7B%22key1%22%3A%22value1%22
%2C%22key2%22%3A%22value2%22%7D
data_sharing_options

情報共有に対するエンドユーザーの同意を示す。設定された場合、この値は永続化され、そのユーザーに対するその後の/launchおよび/evtリクエストごとに渡されなければならない。

limit_data_sharing":falseを渡すと、ユーザが情報の共有に同意した(オプトインした)ことを示す。

ユーザーが拒否した場合は、"limit_data_sharing":trueを渡します。

オプション

%7B%22limit_data_sharing%22%3Atrue%7D

skan_conversion_value このイベント通知の時点での最新のSKAdNetworkコンバージョン値(SKAdNetworkの実装の詳細については、こちらをお読みください。 iOS 0 - 63
skan_first_call_timestamp 基礎となるSkAdNetwork APIへの最初の呼び出しのUnixタイムスタンプ(SKAdNetworkの実装の詳細については、こちらを参照)。 iOS 1483228800
skan_last_call_timestamp このイベント通知の時点で、基礎となるSkAdNetwork APIへの最新の呼び出しのUnixタイムスタンプ(SKAdNetworkの実装についての詳細は、こちらをお読みください。 iOS 1483228800

 

収益イベントのパラメータ

パラメータ 説明 対応プラットフォーム
is_revenue_event 収益イベントかどうか。イベント名が__iap__の場合、またはamtが0以外の場合は省略可能。 iOS, Android, Web, PC, Console True
amt 通貨金額。curパラメータと組み合わせて使用する必要があります。 iOS, Android, Web, PC, Console 2.51
cur ISO 4217 の3 文字の通貨コード。これは amt パラメータと組み合わせて使用します。 iOS, Android, Web, PC, Console EUR
purchase_receipt 購入時に受け取ったレシート。AndroidiOSから取得する方法については、以下の説明を参照してください。 iOS, Android

iOS:
MIISqwYJKoZI...cNqts0jvcNvPcK7y
uj0KhJ9nTTQ54kDKfReihzc6aw==

Android:
{"orderId":"GPA.1234",
"packageName":"com.example",
"productId":"com.example.product",
"purchaseTime":1417113074914,
"purchaseState":0,
"purchaseToken":"hakfcimbk... pM"} 

receipt_signature 購入時のレシートへの署名 Android TyVJfHg8OAoW7W4wuJt... 5agEDMnNXvhfrw==
purchase_product_id 商品のSKU識別子 iOS, Android, Web, PC, Console

com.example.product

purchase_transaction_id 取引識別子 iOS, Android, Web, PC, Console

iOS: 380000123004321

Android: GPA.1234-1234- 1234-12345 

サンプルAPIコール

Python HTTP cURL Java
import requests
import json
  
  SDK_KEY = '[開発者ツール>SDK統合>SDKキーのsdk_key]'
  EVENT_URL = 'https://s2s.singular.net/api/v1/evt'
  
  params = {
   'n': 'levelup',
   'e': json.dumps({"level": "10"}),
   'a': SDK_KEY,
   'p': 'Android',
   'i': 'com.yourcompany.app',
   'ip': '10.1.2.3',
   'aifa': '8ecd7512-2864-440c-93f3-a3cabe62525b',
   'andi': 'fc8d449516de0dfb',
   'utime': 1483228800,
   'custom_user_id': '123456789abcd',
'global_properties': json.dumps({"key1":"value1","key2":"value2"}) } result = requests.get(EVENT_URL, params=params) print result.json()