目录
此内容是否有帮助?

# iOS SDK Weexフレームワークサポート

このガイドでは、WeexでiOS SDKの機能を使用する方法について説明します。

最新バージョンバージョン: 2.0.0

更新時間は: 2020-06-06

# I.統合SDK

# 1.1統合iOS SDKとWeexサポートテキスト

(1)iOS SDKの統合iOS SDKiOS SDK使用ガイド

(2)iOS SDKの統合が完了したら、ここをクリックし (opens new window)Weexサポートテキストをダウンロードし、解凍してWeexThinkingDataAnalyticsModule. hとWeexThinkingDataAnalyticsModule. mテキストテキストをプロジェクトプロジェクトに追加

また、印刷データLogは、setLogLevelメソッドを呼び出し呼び出して開くことができる。

アップロードするネットワーク条件を設定します。デフォルトでは、SDKは3G、4G、Wifiでデータをアップロードするネットワーク条件を設定しますsetNetworkTypeメソッドを使用してアップロードを許可するネットワーク条件を変更できます。

iOS SDK v2.3.0以降、SDKはHTTPS検証メソッドを構成できます。

iOS SDKはv2.3.1以降、デフォルトのタイムゾーンの設定をサポートしており、必要に応じて構成できます。

iOS SDKはv2.4.0から始まり、クライアントSDKはDebugモードをサポートしています。

を参照してiOS SDK使用ガイド

(3)AppDelegate. mに追加AppDelegate. mに追加

#import "WeexThinkingDataAnalyticsModule.h"

その後、application: didFinishLaunchingWithOptions:メソッドで、iOS SDKとWeexで初期化されたコードの後に、Weexサポートプラグインの初期化コード


-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 初始化 iOS SDK
    [ThinkingAnalyticsSDK startWithAppId:@"APP_ID"
                                   withUrl:@"SERVER_URL"];
    // 初始化 weex
    [WeexSDKManager setup];
    // 初始化 Weex 支持插件
    [WXSDKEngine registerModule:@"WeexThinkingDataAnalyticsModule" withClass:[WeexThinkingDataAnalyticsModule class]];
    return YES;
}

# 1.2 JSテキストでのモジュールの取得

具体的に使用するJSテキストに次のコードを追加してください:

var tamodal = weex.requireModule("WeexThinkingDataAnalyticsModule");

# 1.3 WeexでのSDK機能の使用

インポートが完了したら、RNでSDK機能

# 第二に、ユーザIDを設定

# 2.1ゲストIDの設定(オプション)

SDKインスタンスでは、各ユーザーのデフォルトのゲストIDとしてランダムなUUIDが使用されます。ゲストIDは、ユーザーがアプリを再インストールしたり、デバイスを交換したりするときに変更されます。

ユーザーが製品にログインしていない状態で使用でき、ログインしていない状態でユーザーのゲストIDを設定する必要がある場合は、呼び出して設定できます

tamodal.identify({
  appID: "YOUR_APPID",
  distinctId: "distinctId1"
});

# 2.2アカウントIDの設定

ユーザーがログインすると、loginを呼び出してユーザーのアカウントIDを設定できます。アカウントIDを設定した後、アカウントIDを識別IDとして設定し、設定したアカウントIDはlogoutを呼び出すlogoutまで保持します

tamodal.login({
  appID: "YOUR_APPID",
  loginId: "weex_textlogin"
});

loginは何度も呼び出すことができ、呼び出しのたびに、着信したアカウントIDが以前に保存したIDと一致するかどうかを判断し、一致する場合は呼び出しを無視し、一致しない場合は以前のIDを上書きします。

iOS SDKでloginインターフェイスを呼び出してアカウントIDを設定した場合、RNでの呼び出しは以前に設定されたアカウントIDを上書きし、iOS SDK以降のlogin呼び出しもRNで設定されたアカウントID

この方法では、ユーザーがログインしたイベントはアップロードされません

# 2.3アカウントIDの消去

ユーザーがログアウトした後、ログアウトてアカウントIDをクリアできます。次にログインする前に、ゲストIDをIDとして使用します

tamodal.logout({ appID: "YOUR_APPID" });

RNでのlogoutの呼び出しもiOS SDKでのアカウントIDを消去し、同様にiOS SDK呼び出しlogoutもRNでのアカウントID

ユーザーがアカウントをキャンセルした場合など、明示的なログアウトイベント時にログアウト、明示的なログアウトイベント時にログアウトを呼び出すことをお勧めします。

# 三、事件を送る

# 3.1送信イベント

を呼び出しtrackてイベントをアップロードできます。このインターフェイスはSDKのtrackインターフェイスを呼び出します。詳細な使用方法はSDKドキュメントのtrackインターフェイスの紹介を参照してください

tamodal.track({
  appID: "YOUR_APPID",
  eventName: "track"
});

tamodal.track({
  appID: "YOUR_APPID",
  eventName: "rn_texttrack",
  properties: {
    KEY_NUMBER: 1.02,
    KEY_STRING: "name",
    KEY_LIST: [1, 2, 3],
    KEY_BOOL: true,
    KEY_DateTime: "2020-05-12 06:27:18.371"
  },
  time: new Date("May 17, 2020 03:24:00").getTime(),
  timeZone: "UTC"
});

eventNameはイベントのイベント名で、プロパティはイベントのすべての属性で、iOS SDK v2.2.0にイベントトリガー時間とタイムシフトを設定するメソッドオーバーロードが追加され、着信time型のパラメータをサポートしてイベントトリガー時間を設定し、timeZoneでタイムシフトを設定します。このパラメーターを渡さないと、track呼び出されたときのネイティブ時刻とオフセットがイベントトリガー時刻とタイムゾーンオフセットとして取得されます。

注意:イベントはトリガー時間を設定できますが、受信側は次のような制限をして、相対サーバー時間の10日前から3日後までのデータしか受信しません。期限を超えたデータは異常データとみなされ、データ全体が入庫できません。

iOS SDK v2.3.1以降、SDKのデフォルトのタイムゾーンを設定することで、複数のタイムゾーンでのイベント時間を揃えることができます。iOS SDK使用ガイド設定してください。iOS SDK v2.5.0以降では、SDKタイムインターフェイスのキャリブレーションを使用して、サービス側の時間を使用してデータ収集を一元的に完了できますキャリブレーションタイムセクション

# 3.2パブリックイベントプロパティの設定

ユーザーのメンバーシップレベル、ソースチャネルなどの重要なプロパティは、イベントごとに設定する必要があります。共通イベントプロパティとは、各イベントに含まれるプロパティのことです。setSuperPropertiesを呼び出し共通プロパティを設定できます。イベントを送信する前に、共通イベントプロパティを設定することをお勧めします。

共通イベント属性のフォーマット要件は、イベント属性と一致します。

tamodal.setSuperProperties({
  appID: "YOUR_APPID",
  properties: { superKey: 1, superKey2: "value" }
});

を削除する必要がある場合はunsetSuperProperty呼び出して指定されたパブリックイベントプロパティをクリアできます。すべてのパブリックイベントプロパティを空にする場合は、clearSuperPropertiesを呼び出します

tamodal.unsetSuperProperty({
  appID: "YOUR_APPID",
  properties: "superKey"
});

tamodal.clearSuperProperties({ appID: "YOUR_APPID" });

# 3.3記録された事件の長さ

を呼び出してtimeEventタイミングを開始し、タイミングを設定するイベント名を設定します。イベントをアップロードすると、自動的にイベントプロパティに#durationを追加して、レコードの長さを秒で表します。

tamodal.timeEvent({
  appID: "YOUR_APPID",
  eventName: "rn_texttrack"
});

渡されたパラメータは、時間を記録する必要があるイベントのイベント名で、イベントがトリガーされるとタイミングが停止し、#durationというタイミング属性がイベントに記録され

RNで設定したタイミングでiOS SDKアップロードの対応イベントを記録でき、同様にiOS SDKで設定したタイミングでRNでアップロードの対応イベント

# 四、ユーザー属性

TAプラットフォームで現在サポートされているユーザープロパティ設定インターフェイスはuserSetuserSetOnceuserAdduserUnsetuserDeluserAppendです

# 4.1ユーザーセット

一般的なユーザープロパティでは、userSetことで、インターフェイスを使用してアップロードされたプロパティが元のプロパティ値を上書きし、ユーザープロパティが存在しない場合は、新しいユーザープロパティが作成され、入力されたプロパティの型と一致

tamodal.userSet({
  appID: "YOUR_APPID",
  properties: { usersetkey: 2, usersetkey2: "usersetvalue" }
});

# 4.2ユーザーSetOnce

アップロードするユーザープロパティが一度設定されている場合は、userSetOnce呼び出して設定できます。プロパティに値がある場合は無視されます。

tamodal.userSetOnce({
  appID: "YOUR_APPID",
  properties: { name: "yea" }
});

# 4.3 userAdd

をアップロードする場合は、userAddを呼び出してアキュムレータ操作を実行できます。プロパティが設定されていない場合は、0を割り当ててから計算

tamodal.userAdd({
  appID: "YOUR_APPID",
  properties: { age: 1 }
});

# 4.4 userUnset

ユーザーのユーザープロパティ値を空にする場合は、userUnset::を呼び出して指定されたプロパティを空にすることができuserUnset: 作成されません

tamodal.userUnset({
  appID: "YOUR_APPID",
  properties: "usersetkey"
});

# 4.5ユーザーデル

ユーザーを削除する場合は、userDelを呼び出しuserDelを呼び出して削除でき

tamodal.userDel({ appID: "YOUR_APPID" });

# 4.6ユーザー追加

iOS SDK v2.4.0以降では、userAppendを呼び出しArrayタイプのユーザープロパティを追加できます。

tamodal.userAppend({
  appID: "YOUR_APPID",
  properties: { keyArr: ["age", "2"] }
});

# V.自動収集イベント

自動収集イベントの具体的な使用方法については、iOS SDK自動収集ガイド章を参照してください。

RNの呼び出し方法は次のとおりです。

tamodal.enableAutoTrack({
  appID: "YOUR_APPID",
  autoTrackType: {
    appStart: true,
    appEnd: true,
    appCrash: true,
    appInstall: true
  }
});

# VI。SDK構成

# 6.1データ報告の一時停止/停止

iOS SDK v2.1.0では、SDKの報告を停止する機能が追加されました。

# 6.1.1 SDK報告の一時停止

ユーザーがテスト環境にいる場合や、ユーザーがテストアカウントにログインしている場合など、SDKのデータ収集と報告を一時的に停止したい場合は、次のインターフェイスを呼び出してSDKの報告を一時的に停止できます。

特定のインスタンス(メインインスタンスとライトインスタンスを含む)からenableTrackingを呼び出しを呼び出しfalseSDKの報告を一時停止することができます。このインスタンスに設定された#distinct_id#account_id、パブリックプロパティなどは保持されます。このインスタンスが収集したが、まだ報告に成功していないデータは引き続き報告しようとします。このインスタンスは新しいデータを収集して報告することはできません。ゲストID、アカウントID、パブリックプロパティなどを設定することはできませんが、このインスタンスはすでに設定された共通属性とデバイスID、ゲストID、アカウントIDなどの情報。

インスタンスの停止状態はローカルキャッシュに保存され、enableTracking、enableTrackingまで、SDKtrue、SDKインスタンスはデータ収集と報告を再開します。ライトインスタンスはキャッシュされないため、APPを開くたびにライトインスタンスの一時停止状態は保持されず、報告を再開します。

// 暂停上报
tamodal.enableTracking({
  appID: "YOUR_APPID",
  enableTracking: false
});

// 恢复上报
tamodal.enableTracking({
  appID: "YOUR_APPID",
  enableTracking: true
});

# 6.1.2 SDK報告の停止(optOutTracking)

GDPRが適用される地域でユーザーがデータ収集権限を提供しないことを選択した場合、次のインターフェイスを呼び出してSDKを完全にシャットダウンする機能など、SDKの機能を完全に停止する必要がある場合があります。

optOutTrackingメインインスタンスからのみ呼び出すことができ、の最大の違いは、インスタンスのゲストID、アカウントID、パブリックプロパティ、レポートされていないデータキューなど、インスタンスのローカルキャッシュを空にすることです。その後、このインスタンスの収集と報告機能をオフにします。

tamodal.optOutTracking({ appID: "YOUR_APPID" });

SDK機能をオフにしている間にTAクラスタ内のユーザーデータを削除する場合は、optOutTrackingAndDeleteUserを呼び出して、SDKインスタンスの機能を停止する前にuserDelデータを報告してユーザーデータを削除します。

tamodal.optOutTrackingAndDeleteUser({ appID: "YOUR_APPID" });

インスタンスの停止状態もローカルキャッシュに保存され、optInTrackingが呼び出されるまで、その後も報告を続けることができますが、この時点では新しいインスタンス

tamodal.optInTracking({ appID: "YOUR_APPID" });

# 6.2キャリブレーション時間

SDKはデフォルトでネイティブ時刻をイベント発生時刻として使用し、ユーザーが手動でデバイス時刻を変更するとビジネス分析に影響する場合、iOS SDK v2.5.0以降では、サービス側から取得した現在のタイムスタンプを使用してSDKの時刻を校正できます。その後、イベントデータやユーザー属性設定操作など、指定された時間の呼び出しはすべて、キャリブレーション後の時間を発生時間として使用します。

// 1585633785954 为当前 unix 时间戳,单位为毫秒,对应北京时间 2020-03-31 13:49:45
tamodal.calibrateTime({ timeStampMillis: 1585633785954 });

NTPから時間を取得してSDKを校正する機能も提供しています。ユーザーがアクセスできるNTPサーバーアドレスを渡す必要があります。その後、SDKは着信NTPサービスアドレスから現在の時刻を取得し、SDK時刻をキャリブレーションします。デフォルトのタイムアウト時間(3秒)以内に正しい結果が得られない場合、その後、ローカル時間を使用してデータを報告します。

// 使用苹果公司 NTP 服务对时间进行校准
tamodal.calibrateTimeWithNtp({ ntpServer: "time.apple.com" });

注意:

  • NTPサーバーのアドレスを慎重に選択して、ネットワークの状態が良好な場合、ユーザーデバイスがすぐにサーバーに到達できるようにする必要があります。
  • NTPサービスを使用した時間キャリブレーションには不確実性があります。

上記のキャリブレーションタイムインターフェイスに加えて、iOS SDK v2.5.0では、すべてのユーザープロパティインターフェイスのタイム関数オーバーロードが提供されています。ユーザープロパティに関連するインターフェイスを呼び出すと、Dateオブジェクトが渡され、渡されたDateオブジェクトを使用してデータの##timeフィールドを設定できます。

注:指定されたタイムゾーンでイベント時間を揃えると、デバイスのネイティブタイムゾーン情報が破棄されます。デバイスのネイティブタイムゾーン情報を保持する必要がある場合は、イベントに関連するプロパティを自分で追加する必要があります。

# チェンジログ

# v2.0.0 2020/06/06

  • 新しいAPIインターフェース
  • 複数インスタンスのサポート
  • 自動収集イベントのサポート(新しいAPPインストールイベント、起動イベント、クローズイベント、クラッシュイベント)
  • クライアントSDKのタイムキャリブレーション機能をサポート
  • 新しいoptOutTracking/optInTrackingインターフェイス
  • EnableTrackingインターフェイスが追加され、インスタンスのレポート機能
  • サポートイベントとユーザー属性データの報告
  • パブリックイベントプロパティのサポート