1712920672
2024-04-12 11:00:21
Lyft iOS エンジニアの Max Husar 氏は、ユーザーにタイムリーなアップデートを提供することがモバイル エクスペリエンスを向上させる鍵となるが、開発の範囲と労力は増大すると説明します。 柔軟性、信頼性、再利用性のバランスを実現するには、 Lyft エンジニアは iOS ActivityKit を使用してアプリに動的コンテンツを追加しました。
アクティビティキット これは Apple によって iOS 16.1 および iPadOS 17 で導入され、新しいデバイスで利用可能なダイナミック アイランドまたは古いデバイスのロック画面を使用してアプリからライブ アップデートを共有できるようになりました。 ActivityKit の基礎となるライブ アクティビティは、ユーザーが最新情報を受信したりアプリを起動したりするだけでなく、ボタンやトグルを使用してアプリを起動せずに機能を実行できるという点で、通知の進化版とみなすことができます。 。
Husar の説明によると、Lyft のエンジニアは、各ライブ アクティビティを、メイン アプリの上で実行される一種のミニアプリとして処理します。 これは、複数のチームが同時に異なる領域に取り組む Lyft 組織を反映しています。
私たちは、サーバー駆動型ユーザー インターフェイス (SDUI) を使用して、完全にサーバー駆動型のライブ アクティビティ コンテンツを構築することにしました。 ライブ アクティビティと重複するアプリの一部の画面にはすでに SDUI フレームワークを使用しているため、基本モデルと使い慣れたパターンを再利用することで、より迅速に作業を進めることができます。
メイン 制限 ライブ アクティビティの場合、コンテンツ更新に許可される最大ペイロード サイズ (4 KB) から決まります。 Lyft の場合、これには SDUI モデルを微調整することと、 プロトブフ ペイロード サイズからさらにいくつかのバイトを削減します。
このアプローチに基づいて、Lyft の iOS チームは、画像またはタイマーとともに書式設定されたテキストをレンダリングできる RichText コンポーネントや、Lyft 車の速度をライダーに示すために使用されるプログレス バーなど、ユーザーと対話するためのいくつかのコンポーネントを作成しました。近づいてくる。
さらに、ライダーが一致するとすぐにドライバーのプロフィール写真と車を表示するリモート画像の表示をサポートするようにソリューションを拡張しました。 このタスクには次の使用が必要です アプリグループ ライブ アクティビティを実装するアプリおよび拡張機能全体でファイルを共有します。 それでも、Lyft のエンジニアは次のものを見つけることができませんでした。
2 つの画像 (ドライバーの写真と車) を同時に確実かつ迅速に表示する方法。 私たちは、ドライバーのプロフィール写真は、UX の観点から最初に見ることがより重要であるという点に同意し、base64 画像データを APN 更新ペイロードに直接送信することで、遅延なく表示できるようにしました。
追加の制限は、アプリがアクティブな間、またはバックグラウンドで動作しているが、十分なバックグラウンド処理時間が残っている間のみ画像をダウンロードできるという事実から生じました。
全体として、複雑さにもかかわらず、ライブ アクティビティに採用されたソリューションは成功し、何百万ものユーザーのユーザー エクスペリエンスを向上させることができたと Husar 氏は述べています。
Lyft のエンジニアがアプリでライブ アクティビティをどのように活用したかについては、ここでは説明しきれないほど詳細に説明されているため、興味がある場合は元の記事をお見逃しなく。
#Lyft #が #iOS #ライブ #アクティビティを活用してユーザー #エクスペリエンスを向上させた方法