AndroidがiOS版とは異なることを行いますしかし、iOS用:
のInfo.plistでカスタムURIを登録します(それが正しいXMLですが、それはそのようなものであれば、画像のリンクをチェックアウトするかわからない)(CFBundleURLName
下string
がありますあなたのスキームのカスタム名を指定し、次にmultiplをリストすることができます名前の下に、アレイ内の電子スキーム):
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.bluediamondparty.schemes</string>
<key>CFBundleURLSchemes</key>
<array>
<string>bluediamondparty</string>
</array>
</dict>
</array>
上記のXMLは、に対応するアプリのあなたのURIスキームとしてbluediamondparty
を登録します。
カスタムスキームのURIが実行されたときにアプリが何かを実行するようにするには、AppDelegate
のOpenUrl
をオーバーライドします(カスタムURIスキームの後に、たとえば特定のあなたのアプリ内のページまたはアイテム):
UIApplication.SharedApplication.OpenUrl(new NSUrl("bluediamondparty://play?game_mode_type=survival"));
最後に、あなたが使用しているのどれもが実際に必要としないことに気づくかもしれません:あなたの第二のアプリからURIを開くには
public override bool OpenUrl (UIApplication app, NSUrl url, string srcApp, NSObject annotation) {
var rurl = new Rivets.AppLinkUrl (url.ToString());
if (rurl.InputUrl.Host.Equals ("play")) {
var gameModeType = rurl.InputQueryParameters ["game_mode_type"];
var c = new ProductViewController (gameModeType, rurl.Referrer);
navController.PushViewController (c, true);
return true;
}
return false;
}
、あなたはこのような何かを実行する可能性がありますリベットコンポーネント...そのコンポーネントは実際に私たちのために何をしていますか?何よりリベットが実際にあなたのアプリを実際のURL(例えばhttp://rdio.com/song/12345
)に入れてリベットがそのページに行き、そのページのコンテンツがモバイルアプリにリンクされている方法を説明する特別なmeta
タグを探しますユーザーがデバイスにインストールされている可能性があります。それは、ユーザーがそれをインストールしており、それが登録されている場合RDIOアプリを開こうとするために、正しいカスタムURIスキームを一覧表示することmeta
タグで
<meta property="al:ios:url" content="rdio://song/12345" />
:だからrdio
Webページ上で彼らは、次のメタタグを持っているかもしれませんカスタムrdio
URIスキームを使用します。
あなたのアプリがURIスキームへの排他的な権利を持っていないことをもう一つ知っておく必要があります。したがって、別のアプリがあなたと同じURIスキームを選択し、ユーザーがその両方をインストールすると、インストールされる最後のアプリはURIスキームに応答します。
どのアプリを起動しようとしていますか? iOSにはリベットなしでアプリを起動するための特定の方法があります私は彼らと少し経験があります。 – hvaughan3
iPhone用Blue Diamond Partyと呼ばれるゲーム – jbassking10