iOS9でURLスキームによるアプリダウンロード確認が本当に全滅したのか? #AppStore定点観測 9/17
2015/12/19

こんな噂がありまして、
マジすか……おこづかいアプリブースト終わりやないか…… 「Xcode6を使ってビルドしたアプリも、ユーザーがiOS9にアップデートした時点からURLスキームによるアプリダウンロード成果が取れなくなってしまう事が、確認されました」
— アップトーキョー (@AppTokyo) September 16, 2015
URLスキームの話なのですが、インストールを確認したり、起動したりするために、アプリ毎にバラバラに付けられてる名前のことなんです。
例えばSafariのアドレスのところに
jp.co.mixi.monsterstrike://
と入れてみてください。
モンストがいきなり起動しますよね?もしかすると「このページを“モンスト”で開きますか? [キャンセル] [開く]」とアラートで尋ねられるあなたはiOS9です。
もし「ページを開けません」とアラートが表示されたあなたはモンストをインストールしていないことになります。
これがURLスキームでして、今までの「おこづかいアプリ」で、「この人はこのアプリインストールしたから50ポイント」みたいに確認する方法の一つに(他にもブラウザ起動型などの成果通知の仕組みはあります)利用されてきました。
if ([[UIApplicationsharedApplication] canOpenURL:[NSURLURLWithString:@”jp.co.mixi.mosterstrike://”]]) {
//アプリインストール確認
[self kozukaiGet];
}
という感じのプログラムの例。
こちらがなんとiOS9では「ユーザーがインストールしているアプリの情報は丁重に扱われるべきである。」というApple様の指針が発表されたそうで、ホンネとしては「なんか日本でcanOpenURL悪用してブーストとかいう違反行為が横行してるから叩いてやろうぜ。」みたいに言ってんじゃねえか、みたいに聞こえてしまうのですが、まあ、とにかく「これからURLスキーム使うときはあらかじめアプリに使いたいやつリストに書いとけよ」ということになってしまいました。
iOS9でカスタムURLスキームの遷移に失敗するときの注意点 – Qiita
http://qiita.com/Night___/items/60355d21951cffbef51b
通常このような機能は、たとえユーザーのiPhoneがiOS9にアップデートされても、旧バージョンの開発キットで作られたアプリがいきなり動作しなくなると暴動に発展してしまうので、下位互換は維持したままアップデートされるはずです。
例えばiOS7(Xcode5)→iOS8(Xcode6)で、先ほども例に挙げた、ポップアップで表示されるアラートが廃止となってしまい、まったく別のアラートに超進化してしまいました。
Objective-C – iOS8でのダイアログ表示:廃止になるUIAlertViewと推奨されているUIAlertControllerのメリット – Qiita
http://qiita.com/Night___/items/f2877236a4182c566eed
だからといってユーザーがiOS8になった途端、旧来のアラートがいきなり表示されなくなって、「ゲームをキャンセルしますか? [キャンセル][はい]」みたいなアラートが出なくなると暴動に発展してしまうので、下位互換は維持したままアップデートされました。ご安心ください、ちゃんと古いアプリでも表示されています。
で。URLスキームの件、Xcode6.4で作ったアプリをiOS9のiPhoneに入れて試してみました。
![]() (やってみたの図。)
|
あれ???行けますやん、ちゃんと取れてまっせーcanOpenURL。もしかするとApp Storeへディストリビューションビルドしたやつは、NGになるのかもしれませんけど。
普通に考えるとiOS8→iOS9でいきなり廃止されて使えなくなることはないと思います。
でも、
こづかいキング
いつもご利用いただきましてありがとうございます。
iOSアップデートについてご注意いただきたいことがございます。
iOS9にアップデートしますと、一部アプリの表示に不具合が出る恐れがございます。また、一部アプリインストールのおしごとでポイントが入らない場合もございますのでご注意ください。
なお、iOS9に非対応のアプリインストールのおしごとについては【※iOS9非対応】と表示しますので、ご自分のiOSのバージョンをご確認いただいた上でアプリインストールを行ってください。
とCAモバイルさんはお知らせしている。
これはなぜだろうか?
URLスキームでアプリ開く場合も、SafariのリダイレクトでApp Store開く場合も、確認アラートが表示されるときと、されないときがあったりします。
遷移元のURLが「http://app-adforce.jp/」だったりすると必ず出ません?気のせいかなぁ…。
そんな感じで推測なのですが、SafariリダイレクトやURLスキーム利用に「ブラックリスト方式」を導入しているのではないかと思ったりしています。Apple様がアドクロSDKやSmaAdなどをブラック認定して、それらを使用しているのだけURLスキーム使用できなくしたりして。
どうでしょうね?分かりませんが、とりあえずリワード業社が滅びるのはいいことだと思いますけどね。
・タレコミや技術解説やご意見などなんでも募集中!
ちがいますね。 – iOS9でURLスキームによるアプリダウンロード確認が本当に全滅したのか? #AppStore定点観測 9/17 http://t.co/PmkxTh07gk @AppTokyoさんから
— ryoSakuma (@sakuma1210) September 17, 2015