iOS SDK アドバンスオプション

Singular iOS SDK
ダウンロード Singular iOS SDK version 9.2.8
互換性

iOS 8+

サンプルアプリ ベストプラクティスに基づくSDK全体実装方法確認の為に、サンプルアプリをご参照ください。
実装ガイド

 

Uninstallトラッキング

注意: Uninstallトラッキングはエンタプライズ顧客のみ提供されます。

アプリでUninstallトラッキングを活性化するには下記の手順に順ってください。

  • Singular内のアプリ設定にてUnistallトラッキングが活性化されたか確認ください。詳しい内容は  Setting Up iOS Install Tracking 文書をご参照ください。
  • アプリ内にて registerDeviceTokenForUninstall又は registerDeviceToken メソッドを使用し、Apple Push Notification Service(APNS)から変換されたデバイストークンを渡します。このコードは必ずSingularのStartSession 前に呼び出される必要が有ります。

アプリが現在Push Notificationをサポートしてない場合には Appleのガイドをご参照ください。

注意:

  • 既に既存のPush Notification実装によりデバイストークンを取得している場合には、その値をご使用ください。
  • APNSトークンは主にbinaryデータでAPNSから取得したトークンを渡してください。もしアプリ内で次のような64字の文字列形態(b0adf7c9730763f88e1a048e28c68a9f806ed032fb522debff5bfba010a9b052)にて変換してご使用中の場合にはNSDataにて変換して渡してください。
registerDeviceTokenForUninstall メソッド (Objective-C)
定義 APNSから取得したデバイストークンを渡す
メソッド + (void)registerDeviceTokenForUninstall:(NSData*)deviceToken;
使用例
NSString* apns = @"b0adf7c9730763f88e1a048e28c6
8a9f806ed032fb522debff5bfba010a9b052";
NSData* data = [apns dataUsingEncoding:NSUTF8StringEncoding];
[Singular registerDeviceTokenForUninstall:data];

Singular SDK JavaScriptインタフェース

アプリ内のjavaScriptコードからSingularを呼び出しを必要とする場合、 JavaScript インタフェースをご使用頂けます。

例えば、JavaScriptインタフェースを設定した場合、次のように JavaScriptコードからSingularにイベントを転送する事が可能です。

Singular.event('event'); 
Singular.event('test', JSON.stringify({"a1":"bar",
"a2":"boo", "a3":"baz"}));

このインタフェースは次のようなSDKメソッドを支援します。

  • setCustomUserID
  • unsetCustomUserID
  • event
  • revenue

Enabling the JavaScript Interface

JavaScriptインタフェース活性化

注意: AppleはiOS 8.0以上からアプリにウェブコンテンツを追加する際、WKWebView를を使用する事を推薦している為 UIWebView又は WebView 使用は推薦していません。詳しい内容はAppleのWKWebView文書をご参照ください。

WKWebViewの使用際にJavaScriptインタフェースを使用する為には WKNavigationDelegate プロトコルの webView メソッドにいくつかのコードを追加する必要が有ります。このプロトコルはウェブビューがナビゲーション要請を処理する際にカスタム行動を発動させるよう実装する事を手伝うプロトコルです。

Swift:

extension ViewController: WKNavigationDelegate { 
 func webView(_: WKWebView, decidePolicyFor: WKNavigationAction, 
decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { // Singular ハンドラー let js = "typeof(Singular)" webView.evaluateJavaScript(js) { (result, error) -> Void in if let resultString = result as? String { if resultString.isEqual("undefined") { do { let contents = try String(contentsOfFile:
Bundle.main.path(forResource: "Singular", ofType: "js")!) self.webView.evaluateJavaScript(contents,
completionHandler: nil) } catch { } } else { print(decidePolicyFor.request) Singular.processJSRequestWK(self.webView,
withURL:decidePolicyFor.request) } } } // 他のコードは下に追加してください。 }

iOS 8.0から使用が中断された以前UIWebViewを使用する場合、次のようにUIWebViewDelegate ファイルの webView:shouldStartLoadWithRequest:navigationType: メソッドをアップデータしてください。

Objective-C:

- (BOOL)webView:(UIWebView *)webView 
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType{ if([[webView stringByEvaluatingJavaScriptFromString:@"typeof(Singular)"] isEqualToString:@"undefined"]) { // HTMLにSingular.js注入 [webView stringByEvaluatingJavaScriptFromString:[NSString
stringWithContentsOfFile:[[NSBundle mainBundle]
pathForResource:@"Singular" ofType:@"js"] usedEncoding:nil error:nil]]; } else { // Singular.jsにて要請処理 [Singular processJSRequest:webView withURL:request]; } // 次のコードは下に追加してください。 return true; }

GDPR 規定遵守

Singular SDKはお客様がGDPR規定を遵守し、ユーザーのトラッキング同意及び非同意事項をSingularにお知らせするに必要な様々なメソッドを提供します。

trackingOptIn メソッド
定義 Singularにユーザーのトラッキング同意(Opt-in)を告知
使用例 Objective-C:
[Singular trackingOptIn];

Swift:

Singular.trackingOptIn()
trackingUnder13 メソッド
定義 Singularにユーザーが未成年(13才未満)である事を告知
使用例

Objective-C:

[Singular trackingUnder13];

Swift:

Singular.trackingUnder13()
stopAllTracking メソッド
定義

該当アプリにて該当ユーザーをトラッキングする全ての行為を中断

注意: このメソッドを呼び出す場合、SDKが非活性化されアプリの再起動以降にも状態が保存されます。 トラッキングを再開するには resumeAllTracking()メソッドを明示的に呼び出す必要が有ります。
使用例

Objective-C:

[Singular stopAllTracking];

Swift:

Singular.stopAllTracking()
resumeAllTracking メソッド
定義 該当アプリから該当ユーザーのトラッキングを再開
使用例

Objective-C:

[Singular resumeAllTracking];

Swift:

Singular.resumeAllTracking()
isAllTrackingStopped メソッド
定義 該当アプリから該当ユーザーのトラッキング中断状態を確認。StopAllTracking() メソッドを通じて現在トラッキングが中断し再開されて無い状況の場合、 true 値を返還
使用例

Objective-C:

[Singular isAllTrackingStopped]; // 返還値 true/false

Swift:

Singular.isAllTrackingStopped() // 返還値 true/false

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています