iOSアプリ内でURLリンクが飛ばなくなった時に試したこと

Unityで開発しているiOSのゲームアプリ内で、他のゲームへのリンクや、SNSへのリンクが機能しなくなりました。
そのときに試したことなどをまとめておきます。

この記事では以下の内容が解決するかもしれません。

  • iOSアプリ内のURLリンクが飛ばない
    →Unityのバージョンをあげる
  • Unityのバージョンを上げるとプロジェクトを開けなくなる
    →Macの設定を変更する
  • Google AdMobで「サイトの仕様:ナビゲーション」というポリシー違反になった
    →iOSアプリ内のURLリンクが飛んでいない可能性を確認する。

開発環境

アップデート前
  • MacBook Air(Apple M1チップ) OS バージョン14.0
  • Unity 2022.3.10f1
  • Xcode14
アップデート後
  • MacBook Air(Apple M1チップ) OS バージョン15.0
  • Unity 2022.3.47f1
  • Xcode16

URLリンクしなくなった経緯

突然ビルドが通らなくなったため調べていると、Xcodeのバージョンが古いらしいということが判明。
ここでXcodeのバージョンと、なぜかMacのOSもアップデートする。
アップデートすることで、ビルドは通るようになる。
しかし、iOSの審査はリジェクトされ、同じ時期にアップデートを行っていた別アプリのGoogle AdMobからポリシー違反との連絡が。
どうやらUnityが用意してくれているApplication.OpenURLでリンクに飛ばしていたものが、iOSで非推奨の飛ばし方のままになっていたらしく、iOS側でリンクに飛ばなくしているらしい。


そこで対応方法を調べると、Unityのバージョンを上げると解決しそうだったので、Unityのバージョンを上げる。
するとUnityのプロジェクトが開けなくなる。
今度はMacOSを新しくしたことによって、セキュリティが強化されており、Unityのプロジェクトを開くのに必要なファイルがダウンロードされていなかったらしい。
最終的に、MacOSの設定を変更し、Unityをアップデートしたことによって、Application.OpenURLをそのまま使用してもリンクが開くように。

Unityのバージョンアップを行う前のMacの設定方法

この設定を行うことで、Unityのバージョンアップしても、通常通りプロジェクトを開くことができるようになりました。

システム設定を開く

システム設定を開き、「プライバシーとセキュリティ」を選択

デベロッパツールを開く

プライバシーとセキュリティを選択すると、デベロッパツールという項目が出てくるので、デベロッパツールを選択。

デベロッパツールにUnity Hubを追加しアクティブにする

デベロッパツールを選択すると、デフォルトで追加されているターミナルと+ボタンが出てくると思うので、+ボタンをクリックし、Unity Hubを追加する。
追加したら、Unity Hubをアクティブにする。

Unityのバージョンアップ

上記の設定を行ってから、Unityのバージョンアップを行えば、通常通りプロジェクトが開けるようになりました。

Google AdMobの「サイトの仕様:ナビゲーション」というポリシー違反

いろいろ理由はあるようですが、私の場合はURLのリンクが機能しなくなっていたことが原因だったので、上記の対応を行った結果、ポリシー違反も解決しました。

<参考>

サイトの仕様: ナビゲーション 要修正

プログラム ポリシーに記載されているとおり、Google 広告を表示するサイトやアプリでは、ユーザーに役立つ情報を提供することになっております。ユーザーが期待どおりの製品、商品、サービスを見つけられるように、サイトやアプリ内を簡単に移動できる必要があります。誤解を招く操作性とは、たとえば次のようなものを指します。

  • 存在しないダウンロード/ストリーミング配信コンテンツの提供を謳っている
  • 存在しないコンテンツにリンクしている
  • 無関係なページや誤解を招くページもユーザーをリダイレクトしている
  • サイトのテーマやビジネスモデルと関係がないテキストが記載されている

詳しくは、ウェブマスター向け品質に関するガイドラインと AdSense のプログラム ポリシーをご参照ください。

まとめ

Xcode等のバージョンを上げて、アプリ内のリンクが飛ばなくなったら、Unityのバージョンを上げてみましょう。
Unityさんはしっかり対応してくれているので、バージョン上げるだけで解決です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA