web-dev-qa-db-ja.com

Appleの「advertisingIdentifier」はどのような条件下でリセットされますか?

ユーザーが手動でリセットする以外に、ADIDがリセットされる原因となる他のことを誰かが観察しましたか? OTA OSのアップグレード? iTunesが復元しますか?

26
Randy Dailey

(iOS6.0.1およびiOS6.1.3を搭載したiPhone3GSおよびiOS6.1.3およびiOS7.0.0を搭載したiPhone4Sでテストした場合のadvertisingIdentifierおよびidentifierForVendorへの影響)

  • iOS設定アプリの「すべての設定をリセット」
    無効

  • iOS設定アプリの「すべてのコンテンツと設定を消去」
    advertisingIdentifieridentifierForVendorの両方をリセットします。

  • iTunes経由でデバイスを復元する
    advertisingIdentifieridentifierForVendorの両方をリセットします。

  • デバイスからアプリを削除する
    これが特定のチームIDを持つ最後のアプリである場合は、identifierForVendorをリセットします。

  • アプリの更新(自動またはApp Store経由)
    無効

  • TestFlightまたはAd-Hocを介したアプリの更新
    ドキュメントによると、identifierForVendorをリセットする可能性があります。

  • 「広告追跡の制限」の有効化/無効化
    iOS 6.0.1:効果なし
    iOS 6.1.3:advertisingIdentifierをリセットします。

  • システムアップデートOTA(iOS6.0.1からiOS6.1.3)
    無効

  • システムアップデートOTA(iOS6.1.3からiOS7.0.0)
    場合によってはidentifierForVendorをリセットします。 (1)

  • iTunes経由のシステムアップデート(iOS6.1.3からiOS7.0.0)
    場合によってはidentifierForVendorをリセットします。 (1)

  • iOS設定アプリの「広告識別子のリセット」
    advertisingIdentifierをリセットします。実行中の(または一時停止中の)アプリの一部がすでにadvertisingIdentifierをリクエストしている場合、アプリを停止して再起動するまで、新しいアプリを取得することはできません。

  • iTunes経由のバックアップ
    無効

  • iTunesを介したバックアップの復元(同じデバイスへ)
    advertisingIdentifieridentifierForVendorの両方を含むバックアップ設定を復元します。注:復元前にチームIDを持つ複数のアプリを削除した場合、インストールしたチームIDを持つすべてのアプリを再インストールして再度削除するまで、identifierForVendorが再度リセットされることはありません。これはバグのようです。

  • iTunesを介したバックアップの復元(別のデバイスへ)
    advertisingIdentifieridentifierForVendorの両方をリセットします。


(1)私が理解している限り、これはAppStoreのアプリでは発生しないはずです。これは、アプリのbundleID内のコンポーネントの数とそれぞれのプロビジョニングプロファイルに関連しているようです: アプリのデプロイに関するiOS 7アプリのリリースノート
私のテストでは、4つのコンポーネントを備えたアプリのidentifierForVendordid変更(開発者またはエンタープライズのディストリビューションプロビジョニングプロファイルを備えたバージョンの場合)、しかししなかった 3つのコンポーネントを持つものの変更。

83
Andreas Ley

2つのケース:

  • 「広告識別子のリセット」を手動で選択します。ただし、アプリがバックグラウンドで実行されている場合、識別子はアプリケーションが再起動されるまでアクティブのままになります。
  • 「すべてのコンテンツと設定をリセット」を手動で選択します。

バックアップ、OSのアップグレード、アプリの再インストール、または「広告の追跡を制限する」を選択しても、識別子はリセットされません。

AFAIKでは、ベンダーIDと広告IDをサーバーに送信できます。ユーザーが「広告識別子のリセット」を使用して広告IDをリセットすると、ベンダーIDが存続するため、新しいものと古いものを一致させることができます。 Appleがこれを防ぐつもりである方法がわかりません。

4
Jano

Appleからの公式の決定的なリストはありません。ドキュメントには次のように記載されています。

この識別子は、たとえばユーザーがデバイスを消去した場合に変更される可能性があるため、キャッシュしないでください。

Appleはこれ以上の詳細を提供していません。デバイスをリセットするとADIDが変更され、ユーザーが手動でデバイスをリセットすることも知られています(この機能が利用できる場合は、iOS 6.1以降)。 OSのアップデートで識別子がリセットされることを示唆するものは何も見つかりませんでした。

もちろん、他の文書化されていない動作によって識別子がリセットされる可能性はありますが、他に何も見つかりませんでした。

1
lxt