31
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

広告表示がないアプリでGoogle Analytics for iOSを組み込んでいるとリジェクトされる問題

Last updated at Posted at 2014-02-13

今年2月に入ってからAdSupport.frameworkのASIdentifierManagerクラスにあるadvertisingIdentifierメソッドを使ったアプリがリジェクトされているという投稿が目立っていました。

参考:
ASIdentifierManager の advertisingIdentifier を使っているとリジェクトされる問題
http://qiita.com/monry/items/b473e3db7e48f05be96b

(上記では主にUnityが吐き出すコードを変更して対応)

解決法

Google Analyticsのライブラリを最新のv3.03aに置き換えることでAdSupport.frameworkをリンクしなくてもビルドできるようになります。

Downloads - iOS SDK
https://developers.google.com/analytics/devguides/collection/ios/resources?hl=ja

念のためAdHocビルドしたアプリのバイナリファイルに対してstringsコマンドでadvertisingIdentifierが使われていないか文字列を全て調べて見るのもよいでしょう。

$ unzip <アプリのバイナリ名>.ipa
$ cd Payload/
$ cd <アプリのバイナリ名>.app/
$ strings <アプリのバイナリ> | grep advertisingIdentifier

Payloadとか何やねんっという人は次の記事が参考になるでしょう
http://qiita.com/yimajo/items/b2afd85513ea7c47b66a

AdSupport.framework周辺のことがら

advertisingIdentifierとは

iOS6からUDIDが実質使えなくなったことで、広告ネットワーク用の共通のUUIDとして使われることを想定しているようです。

利用方法としてはAdSupport.frameworkをリンクし次のようなコードを書きます

ASIdentifierManager *adManager = [ASIdentifierManager sharedManager];
    
if ([adManager isAdvertisingTrackingEnabled]) {
    //使えるぜ
    NSLog(@"%@",[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]);
} else {
    //ユーザーによって使えないようになってるぜ
    NSLog(@"optout");
}

これによってユーザーが拒否しなければアプリにまたがった共通のUUIDを取得できます。

Google Analyticsでv3.0あたりからAdSupport.frameworkが必須になっていた

v3.0からこのadvertisingIdentifierを取得するためなのかは分かりませんが、ターゲットをAdSupport.frameworkにリンクをすることが必須になっていました。

ただ、そうすると広告が表示されているアプリではリジェクトされないが、広告が表示されていないアプリではリジェクトされるという事があったようです。

しかし100%リジェクトされるわけじゃない

ここまで書いててあれですが、自分の広告を表示しないアプリで、アクセス解析のためにGoogle Analytics v3.03組み込み1月にバージョンアップでリリースしていても実際はリジェクトされていませんでした。なので今年に入ってから100%リジェクトされるわけじゃないとは思います。

31
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
32

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?