Articles

Androidアプリのアプリ内レビュー

Saamer Mansoor

Saamer

October 22nd, 2020

これは、Saamer Mansoorのゲストブログである。 Saamer は、TheFirstPrototype.com のティンカーであり、アプリ開発者です。 Twitter @saamerm や Medium での執筆、GitHub でのオープン ソースへの貢献で彼を見つけることができます。

2020年8月に Android の Play Core v1.8 がリリースされたとき、ユーザーがアプリ内レビューを提供できる素晴らしい新機能が追加されました。 Patrick Getzmann は過去数か月間、このライブラリのバインディングに取り組んできましたが、最近 v1.8 をサポートするように更新しました。 つまり、わずか数行のコードで、この機能や他の多くの機能をアプリに導入できます。

アプリ内レビューは、ユーザーがアプリの外に連れて行かれるのを嫌うので、ユーザー エクスペリエンスを向上させます。 Appleは2017年3月にリリースされたiOS 10.3からこの機能を提供しているため、Androidでは非常に期待されていました。 新しい Play Core ライブラリを使用して、この機能を Android アプリにもたらす方法を見てみましょう。

Screenshots showing In-App Reviews on a Xamarin Android app

Play Core Library

この旅の始まりに、私は Patrick と密接に協力して、Android プロジェクトに直接追加できる PlayCore NuGet パッケージを更新しました。 この API は Android のコアなので、その使用方法の例として、Patrick のプロジェクトにこの PR を作成しました。 これは、Android プロジェクトで InAppReviewService.cs を作成し、依存性注入を使用してそれを呼び出す方法を示しています。

しかし、突然 James Montemagno が、すでに人気のある Store Review プラグインにこの機能を統合することについて私に連絡を取ってきました。 私たちは彼と提携し、iOS 用の機能をすでに持っている彼の NuGet ライブラリを通じて、この機能にもっとアクセスできるようにしました。 つまり、あなたのアプリにこれを実装するのは簡単です!

Step 1 – NuGet を追加する

最初のステップは、新しく更新された Store Review Plugin NuGet v3 をあなたのすべてのプロジェクトに追加することです。 これにより、依存関係として Play Core バインディング ライブラリが自動的に追加されます。

Step 2 – Call RequestReview()

次に、レビューを要求する方法について決定します。 ユーザーがボタンをクリックしたときにトリガーすることもできますし、ユーザーが特定の時間アプリを使用した後に手動でトリガーすることもできます。 レビューを要求するときは、次のコード行を呼び出すだけです。

await CrossStoreReview.Current.RequestReview(false);

これにより、レビュー プロセスが起動し、オペレーティング システムがレビューが提示されたかどうかを判断します。 渡されたブール値は、テスト モードであるかどうかを判断するためのもので、リリース前にアプリをテストするのに適しています。

Step 3 – Optional ProGuard Config

Link All オプションでアプリをリリースし、ProGuard/r8 を有効にした場合、Android プロジェクト内の proguard ファイルに以下を追加しなければなりません:

-keep class com.google.android.play.core.common.PlayCoreDialogWrapperActivity-keep class com.google.android.play.core.review.** { *; }-keep class com.google.android.play.core.tasks.** { *; }

Testing

アプリ内のレビュー テストは iOS 同様 Android でトリッキーです。 ここでご覧いただけるように、アプリをテストできることには多くの制限があります。 何を試そうとも、手動で構築して配布した場合、アプリ内レビューの UI を見ることはできません。 UIを見るためには、Playストアからアプリをダウンロードする必要があります。 そのため、これをテストする最も簡単な方法は、Android の [内部アプリ共有] を使用することです。

以上で、Xamarin アプリでクロス プラットフォームのアプリ内レビューが可能になりました。 この投稿を終える前に、このライブラリ全体と統合がどのようにして生まれたかについて、皆さんに少し裏話をしたいと思います。 私は Android subreddit を購読しており、そこで最新の機能について学んでいます。 Androidでアプリ内レビューの話を聞いたとき、自分のアプリにも実装してみたいと思ったのですが、調べてみるとPlay Coreの公式バインディングの予定はないとのこと。 しかし、Patrick Getzman氏のNuGetでは、すでにバインディングを作成する重い作業が行われているのを発見しました。 その時点では、Play Core v1.7.2に対してのみバインドされていました。 v1.8 はアプリ内レビューに必要なので、単純に issue を作成しました。

それから少しして、締め切りが迫ってきたので、先延ばしにして代わりにできることを探すことにし、そのときにバインディング ライブラリを v1.8 に更新することにしました。 何度もマウスをスクロールしたり、キーを叩いたりしながら、Jonathan Dickのこのビデオに従って、試行錯誤の末、Androidからv1.8用の.AARファイルを動作させることができました! PRを提出し、公式Androidドキュメントを使用してPatのリポジトリにあるサンプルを更新することができました。 これは素晴らしい経験で、この素晴らしい機能に貢献できたことを嬉しく思います。

I hope you have found this handy, and if you use this in your apps, please share screenshots with me, or you can just say Hi!

Saamer Mansoor
Saamer Mansoor

Follow