アプリクリップのしくみ
App Clipは完全なアプリケーションの一部であり(Appleの規則によれば、AppClipsは10MBを超えることはできません)、特定のタスクを実行するためにシャープ化されています。たとえば、食べ物の注文、チケットの購入、ホテルの予約などです。同時に、AppClipsをインストールする必要はありません。リンクから実行するだけです。
ガジェットはiOSスマートフォンまたはタブレットのホーム画面には保存されませんが、アプリケーションライブラリにあります。これらは、最後の起動から30日後にデバイスから自動的に削除されます。ユーザーの便宜のために、App Clipsには、Apple Payのサポートを追加し、Apple IDを介してログインして、登録、追加情報、銀行カード番号の入力なしで、サービスや商品の迅速な承認と支払いを行う機能があります。
Appleはまた、オフラインとオンラインの両方でAppClipsを起動するための多くのオプションを作成しました。
- ブランドのアプリクリップ
- NFCタグ
- QRコード
- Urlリンク
- バナー
- アップルマップ
- シリ。
同時に、App Clipsはメインアプリケーションと同じコードベースを使用し、その形式ではプラグインまたはコンテナのようなものです。
アプリクリップをランブラー/チェックアウトに追加するためのクイックガイド
この記事では、ランブラー/キャッシャーアプリケーション用のアプリクリップを作成する際の微妙な違いについて説明します。
現時点では、ミニアプリケーションを統合するためのアルゴリズムを開発しました。
- ターゲットプロジェクトを親(この場合はターゲットKassa)として指定しながら、ターゲットAppClipをプロジェクトに追加する必要があります。
- 必要に応じて必要なポッドを追加し、ポッドファイル内の特定のターゲットに指定します(ポッドのインストールを実行します)。
- App Clips Signing & Capabilities Associated Domains appclips:{ , App Clips}. «/» appclips:kassa.rambler.ru appclips:m.kassa.rambler.ru.
- target App Clips, .
- url App Clips App Clips , Apple
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void -> Bool. - ( App Clips) AppStore.
- !
ユーザーがポップアップ画面でAppClipsを使用して[OpenAppClip / Application]をクリックする と、メソッドが起動します:
func application(_ application:UIApplication、continue userActivity:NSUserActivity、restorementHandler:@escaping([UIUserActivityRestoring]?)-> Void)-> BOOL
ザ・ userActivity.webpageURLは、我々はアプリケーションのクリップへのリンクとしてアップステッチURLが含まれています。
その後、このリンクのパラメータに基づいて、目的のアプリケーション画面が開きます。
リンクタイプ
現在、Rambler / Cashier App Clipsは、次の3つのチケット購入シナリオをサポートしています。
- 特定のイベントの詳細画面を開く。
- 特定の場所の詳細画面を開く。
- 特定のイベントの特定のセッションの画面を開く。
テストのために、Rambler / Cashierで利用可能なイベントへのリンクをさまざまなパラメーターで使用しました。
1. イベント。入力パラメータとしてcreationid、cityid、creationtypeを使用しました
。m.kassa.rambler.ru / msk / movie / 100547?creationid = 100547&cityid = 2&creationtype = movie
リンクはイベントの詳細画面を開きます。 環境は、次の点を除いて、本格的なアプリケーションでチケットを購入するのと同じです。 :
- イベントの詳細画面には[お気に入りに追加]ボタンはありません。
- イベントの詳細に関するビデオ表示はありません。
2. 場所。Placeid、cityid、creationtypeが入力パラメータとして使用されました:
m.kassa.rambler.ru/msk/cinema/formula-kino-cdm-54351?placeid = 97417&cityid = 2&creationtype = movie
リンクは場所の詳細画面を開き、環境はチケットを完全に購入するのと同じですアプリケーションを除く:
- 場所の詳細画面には、場所に移動したり、お気に入りに追加したり、リンクを共有したりする機能を備えた下部バーがありません。
3. 特定のセッションにリンクします。入力パラメータとしてsessionidを使用しました:
m.kassa.rambler.ru/msk/concert/717293?cityid = 2& sessionid = 54293235
リンクは特定のセッション(表またはホール図の形式)で画面を開きます。 環境は本格的なアプリケーションでチケットを購入するのと同じです。
問題と解決策
1.アプリクリップが起動してクラッシュ
するサードパーティのポッドを使用すると、問題が発生します。製品をビルドするとき、ライブラリは最終ディレクトリにコピーされません。その理由は、ビルドフェーズにスクリプトがないためです。
この問題を解決するには、スクリプトを追加する必要があります([CP] Embed
Pods Frameworksと呼びます): $ {PODS_ROOT} / Target Support Files / Pods- {ここではアップクリップ付きのターゲットの名前} / Pods- {ここではアップクリップ付きのターゲットの名前} -frameworks.sh
Rambler / Cashierの場合、スクリプトは次のようになります。
$ {PODS_ROOT} / Target Support Files / Pods-KassaAppClip / Pods-KassaAppClip-frameworks.sh
2. App Clipsを含むアセンブリが収集され、アーカイブされてAppStoreに送信されますが、拒否されます-アプリケーションウェイト用
この問題の主な原因は、いくつかの大規模なリソースとサードパーティのライブラリです。
ターゲットアーカイブ内のライブラリのサイズを縮小する1つの解決策は、ビットコードを有効にすることです(ビルド設定/ビルドオプション/ビットコードを有効にする)。
3. App Clipsでは、UIDevice.current.identifierForVendorメソッドは000000-0000-000000 .....を返します。
これは、AppClipsの機能によるものです。セキュリティ上の理由からAppleは識別子へのアクセスを制限しています。Rambler / Cashier App Clipsでは、ランダムに生成された32桁のソルトを使用します。
収益は何ですか?
App Clipsは、Rambler / Checkoutなどのe-comアプリケーションのコンバージョンを増やすための良い方法です。すべて黒のままです:
- ユーザーは、メインアプリケーションをダウンロードまたはインストールしなくても、チケットをすばやく購入できます。
- , iOS 14: