コンプライアンスガイド
1. 最新SDKバージョンの説明
規制の新しい要件を満たす最新SDKバージョン:1.7.6
2. 権限呼び出しのコンプライアンス要件
| 権限名 | 権限の説明 | 使用目的 | 権限申請のタイミング |
|---|---|---|---|
| ohos.permission.INTERNET | Internetネットワークの使用を許可 | データ送信機能の使用時に、ネットワークデータへのアクセスに使用 | SDKの初期化時、またはデータ送信インターフェースの呼び出し時 |
| ohos.permission.GET_NETWORK_INFO | アプリによるネットワーク情報の取得を許可 | データ送信機能の使用時に、SDKがネットワーク状態に応じてデータを送信するかどうかを選択 | SDKの初期化時 |
| ohos.permission.STORE_PERSISTENT_DATA | アプリによる永続データの保存を許可 | アプリのアンインストール後も保持する必要があるデータを保存 | SDKの初期化時 |
3. 遅延初期化の要件
ユーザーの同意を得る前にSDKがユーザーの個人情報を処理してしまうことを避けるため、SDKはユーザーが『プライバシーポリシー』に同意した後に初期化する必要があります。
サンプルコードは次のとおりです:
// プライバシーポリシーへの同意状況に応じてデータ収集を有効にするかどうかを判断
if (isPrivacyPolicyAccepted) { // ユーザーが『プライバシーポリシー』に同意済み
TDAnalytics.init(context, "appId", "serverUrl")
}
SDKは初期化時に、OS バージョン、デバイスのメーカー、OS、画面解像度、デバイスモデル、APPバージョン、ネットワーク状態、通信キャリア、アプリのインストール時間、システム言語などの情報を収集し、統計分析機能に使用します。
4. SDKの任意の個人情報の設定方法
開発者は、SDKの任意の個人情報の設定例に従って設定できます。SDKの初期化時にdisablePresetPropertiesパラメータを設定し、無効にするデバイス情報の配列を指定できます。disablePresetPropertiesのデフォルトは空の配列で、デフォルトではすべてのプリセットプロパティが収集されます。特定のプリセットプロパティを無効にする必要がある場合は、無効にするプリセットプロパティをdisablePresetProperties配列に追加してください。
SDKのすべてのイベントでデフォルトで収集されるプリセットプロパティは次のとおりです:
| プロパティ名 | 画面表示名 | プロパティタイプ | 収集タイミング | 説明 |
|---|---|---|---|---|
#ip | IPアドレス | テキスト | サーバー側で収集 | ユーザーのIPアドレス。AEはこれを基にユーザーの位置情報を取得します |
| #country | 国 | テキスト | サーバー側で収集 | ユーザーの所在国。IPアドレスに基づいて生成されます |
#country_code | 国コード | テキスト | サーバー側で収集 | ユーザーの所在国の国コード(ISO 3166-1 alpha-2、つまり大文字の英字2文字)。IPアドレスに基づいて生成されます |
| #province | 省 | テキスト | サーバー側で収集 | ユーザーの所在する省・州。IPアドレスに基づいて生成されます |
| #city | 都市 | テキスト | サーバー側で収集 | ユーザーの所在都市。IPアドレスに基づいて生成されます |
| #os_version | OS バージョン | テキスト | 初期化時に1回収集 | iOS 11.2.2、Android 8.0.0など |
#manufacturer | デバイスのメーカー | テキスト | 初期化時に1回収集 | ユーザーのデバイスのメーカー。Apple、vivoなど |
| #os | OS | テキスト | 初期化時に1回収集 | Android、iOS、HarmonyOSなど |
| #device_id | デバイスID | テキスト | 初期化時に1回収集 | ユーザーのデバイスID。iOSではユーザーのIDFVまたはUUID、AndroidではandroidIDを取得 |
| #screen_height | 画面の高さ | 数値 | 初期化時に1回収集 | ユーザーのデバイスの画面の高さ。1920など |
| #screen_width | 画面の幅 | 数値 | 初期化時に1回収集 | ユーザーのデバイスの画面の幅。1080など |
| #device_model | デバイスモデル | テキスト | 初期化時に1回収集 | ユーザーのデバイスのモデル。iPhone 8など |
| #device_type | デバイスタイプ | テキスト | 初期化時に1回収集 | デバイスタイプ。"Tablet"、"Phone"など |
| #app_version | APPバージョン | テキスト | 初期化時に1回収集 | APPのバージョン |
| #bundle_id | アプリの一意の識別子 | テキスト | 初期化時に1回収集 | アプリのパッケージ名またはプロセス名 |
#lib | SDKタイプ | テキスト | 初期化時に1回収集 | 接続したSDKのタイプ。Android、iOSなど |
| #lib_version | SDKバージョン | テキスト | 初期化時に1回収集 | 接続したSDKのバージョン |
| #network_type | ネットワーク状態 | テキスト | 初期化時に1回収集、ネットワーク状態の変化時に収集 | イベント送信時のネットワーク状態。WIFI、3G、4Gなど |
#carrier | 通信キャリア | テキスト | 初期化時に1回収集 | ユーザーのデバイスの通信キャリア。中国移动、中国电信など |
#zone_offset | タイムゾーンオフセット | 数値 | イベント発生時に収集 | データ時刻のUTCからのオフセット時間数 |
| #install_time | アプリのインストール時間 | 時間 | 初期化時に1回収集 | ユーザーがアプリをインストールした時間。値はシステムから取得されます |
#system_language | システム言語 | テキスト | 初期化時に1回収集 | ユーザーのデバイスのシステム言語(ISO 639-1、つまり小文字の英字2文字)。zh、enなど |
例えば、#os(OS)、#os_version(OS バージョン)を無効にする必要がある場合、設定のサンプルコードは次のとおりです:
let config = new TDConfig()
config.appId = 'appId'
config.serverUrl = 'url'
config.disablePresetProperties =["#os", "#os_version"]
TDAnalytics.initWithConfig(context, config)
すべてのプリセットプロパティを無効にする必要がある場合は、すべてのプロパティをdisablePresetProperties配列に設定できます。サンプルコードは次のとおりです:
let config = new TDConfig()
config.appId = 'appId'
config.serverUrl = 'url'
config.disablePresetProperties =["#lib", "#lib_version", "#os", "#os_version", "#bundle_id", "#install_time", "#manufacturer", "#device_model",
"#device_type", "#screen_width", "#screen_height","#system_language","#carrier","#app_version","#device_id","#network_type","#ip"]
TDAnalytics.initWithConfig(context, config)
5. プライバシーポリシーでの開示要件と記載例
ThinkingData SDKサービスを統合・使用する前に、プライバシーポリシーにおいて、当社SDKの名称、SDK提供者の名称、収集する個人情報の種類、使用目的、プライバシーポリシーのリンクをユーザーに告知し、ユーザーの同意またはその他の法的根拠を取得していただく必要があります。条項の内容は、次の記載方法を参考にしてください:
サードパーティSDKの名称:ThinkingData SDK
サードパーティの会社名:数数信息科技(上海)有限公司
収集する個人情報の種類:『プライバシーポリシー』の個人情報の収集・取得に関する項目に、実際の状況に応じて次の内容を記載してください。お客様がアクティベートして使用する際、当社はThinkingData SDKを通じてお客様のデバイス情報(IPアドレスから解析した位置情報、国、国コード、省・州、都市、OS バージョン、デバイスのメーカー、OS、画面解像度、デバイスモデル、APPバージョン、ネットワーク状態、通信キャリア、アプリのインストール時間、システム言語)を収集します。
個人情報の収集タイミング:SDKの初期化時に取得します。
使用目的:App内でのユーザーの利用状況の統計分析に使用します。
プライバシーポリシーのリンク:ThinkingData SDKプライバシーステートメント
6. エンドユーザーから許可・同意を得るための推奨方法
Appの初回起動時にはプライバシーポップアップを表示する必要があります。プライバシーポップアップでは、簡易版のプライバシーポリシーの内容を掲示するとともに完全版のプライバシーポリシーへのリンクを添付し、エンドユーザーにプライバシーポリシーを読んだうえで同意するかどうかを選択するよう明確に促す必要があります。プライバシーポップアップには同意ボタンと同意を拒否するボタンを設け、エンドユーザーが自ら選択するようにする必要があります。
ユーザーの許可・同意は、ポップアップの形式で求めることをお勧めします。ポップアップの内容には、ThinkingData SDKが申請する必要のある権限と、収集するユーザー関連情報を含める必要があります。
プライバシーポリシーの同意ポップアップの例:
センシティブな個人情報の同意ポップアップの例:

