# 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 プラットフォームで現在サポートされているユーザープロパティ設定インターフェイスはuserSet
、userSetOnce
、userAdd
、userUnset
、userDel
とuserAppendです
# 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 を呼び出し、
を呼び出しfalse
SDK の報告を一時停止することができます。このインスタンスに設定された#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 インターフェイスが追加され、インスタンスのレポート機能
- サポートイベントとユーザー属性データの報告
- パブリックイベントプロパティのサポート