Classic/VPC環境で利用できます。
GAMEPOTは、ログインや決済時にすべてのログを自動的に保存します。ただし、ログインや決済を使わずにログだけを保存する場合は、logEventを介して送信すれば同じように保存できます。
別途インストールする必要はありません。デフォルトの SDKがインストールされている場合、logEvent関数を使用するとイベントを送信できます。
注意
ログイン/決済を使用する場合は自動的に記録されるので、この機能は必要ありません。
別のログインと決済を使用する場合、統計ログを保存する場合にのみ使用することをお勧めします。同時に使用するとログが重複して保存される可能性があります。
ユーザー IDの入力
ログが正常に記録されるには、ユーザー IDの入力が必要です。
- Android
NBase.setMemberId("userId"); - iOS
NBase.setMemberId(memberId: "userId") - Unity
NBaseSDK.NBase.setMemberId("userId");
ログイン後にイベントを送信する方法
- Android
NBase.trackEvent("loginlogs", mapOf("metadata" to "metadata")) { status, e -> if (e != null) { Toast.makeText(this, e.message, Toast.LENGTH_LONG).show() } else { Toast.makeText(this, status.toString(), Toast.LENGTH_LONG).show() } } - iOS
let eventParam: [String: Any] = ["metadata": "metadata"] NBase.trackEvent(event: "loginlogs", params: eventParam) {result in switch result { case .success(let status): // success case .failure(let error): // failure } } - Unity
var loginParam = new NBaseSDK.NBase.TrackingParameter(status: true, serverId: "server#1"); NBaseSDK.NBase.trackEvent("loginlogs", loginParam, (status, error) => { if (error != null) { Debug.Log(error.Message.ToString()); return; } }); } }
会員登録後にイベントを送信する方法
- Android
NBase.trackEvent("joins", mapOf("metadata" to "metadata")) { status, e -> if (e != null) { Toast.makeText(this, e.message, Toast.LENGTH_LONG).show() } else { Toast.makeText(this, status.toString(), Toast.LENGTH_LONG).show() } - iOS
let eventParam: [String: Any] = ["metadata": "metadata"] NBase.trackEvent(event: "joins", params: eventParam) {result in switch result { case .success(let status): // success case .failure(let error): // failure } } - Unity
var loginParam = new NBaseSDK.NBase.TrackingParameter(status: true, serverId: "server#1"); NBaseSDK.NBase.trackEvent("joins", loginParam, (status, error) => { if (error != null) { Debug.Log(error.Message.ToString()); return; } }); } }
決済後にイベントを送信する方法
- Android
val eventParams = mapOf( "status" to true, "productId" to "productId", "paymentId" to "google", "orderId" to "order_id", "currency" to "USD", "price" to 0.99, "server_id" to "world#1", ) GamePot.trackEvent("purchases", eventParams) {status, e -> if (e != null) { Toast.makeText(this, e.message, Toast.LENGTH_LONG).show() } else { Toast.makeText(this, status.toString(), Toast.LENGTH_LONG).show() } } - iOS
let eventParams: [String: Any] = [ "status": true, "productId": "productId", "paymentId": "google", "orderId": "order_id", "currency": "USD", "price": 0.99, "server_id": "world#1" ] NBase.trackEvent(event: "purchases", params: eventParams) {result in switch result { case .success(let status): // success case .failure(let error): // failure } } - Unity
var purchaseParam = new NBaseSDK.NBase.TrackingParameter( status: true, productId: "P12345", // 商品 ID paymentId: "google", // google, apple, amazon, one ... orderId: "Ord1234", currency: "USD", price: 9.99, serverId: "Server1" ); NBaseSDK.NBase.trackEvent("purchases", purchaseParam, (status, error) => { Debug.Log("[Unity] trackEvent...ok " + status); if (error != null) { NBaseSDK.NBase.showToast(error.Message.ToString()); return; } NBaseSDK.NBase.showToast(status.ToString()); });
| Name | Type | Description | Required |
|---|---|---|---|
| productId | string | 商品 ID | Y |
| paymentId | string | google, apple, amazon, one | Y |
| orderId | string | 購入に対するレシート番号 | Y |
| currency | string | 通貨単位 | Y |
| price | double | 購入価格 | Y |
| serverId | string | サーバ ID | N |
- SDKは、OS、アプリのバージョンなどの有用な情報でイベントを自動的に向上させます。
- サーバに自動で送信されるログを直接管理できます。この SDKは自動的にイベントを追跡しません。手動で trackEventを呼び出す必要があります。そのため、一般的に、少なくともアプリの起動時にイベントを追跡することをお勧めします。
- trackEvent関数はバッググラウンドでは実行されません。
- ユーザー定義属性には文字列と数字のみ使用できます。