Khi sử dụng plugin Pushwoosh trong MVVMcross cho Android, các quyền cụ thể được yêu cầu để đảm bảo chức năng thích hợp. Dưới đây là tổng quan chi tiết về các bước và quyền cần thiết:
1. Cài đặt nhắn tin đám mây Firebase (FCM): Để tích hợp Pushwoosh, bạn cần thiết lập Firebase Cloud Messaging (FCM) trong dự án Android của bạn. Điều này liên quan đến việc kết nối dự án của bạn với Firebase thông qua Android Studio và theo trình hướng dẫn thiết lập, điều này bổ sung các phụ thuộc cần thiết vào các tệp `build.gradle` của bạn [2].
2. Quyền trong AndroidManifest.xml: Bạn cần thêm siêu dữ liệu cụ thể vào tệp `androidmanifest.xml` của bạn. Điều này bao gồm `com.pushwoosh.appid`,` com.pushwoosh.apitoken` và `com.pushwoosh.senderid` (thường được đặt là` fcm_sender_id` trong tệp `chuỗi.xml` của bạn).
3. Tuy nhiên, các quyền cụ thể theo yêu cầu của chính Pushwoosh không được liệt kê rõ ràng. Nói chung, đối với các thông báo đẩy, bạn có thể cần các quyền liên quan đến truy cập internet và nhận phát sóng, nhưng chúng thường được xử lý bằng thiết lập Firebase.
4. Quyền thời gian chạy: Bắt đầu từ Android Marshmallow (API cấp 23), các ứng dụng cần yêu cầu một số quyền nhất định trong thời gian chạy. Mặc dù bản thân Pushwoosh có thể không yêu cầu quyền thời gian chạy cụ thể, các tính năng khác trong ứng dụng của bạn có thể. Bạn nên đảm bảo rằng mọi quyền bắt buộc đều được yêu cầu bằng cách sử dụng mô hình quyền Android [1].
5. Tích hợp MVVMcross: Khi tích hợp Pushwoosh với MVVMcross, bạn nên làm theo hướng dẫn để thiết lập plugin Pushwoosh. Điều này thường liên quan đến việc thêm plugin vào dự án của bạn và định cấu hình theo tài liệu Pushwoosh [4].
Tóm lại, trong khi bản thân Pushwoosh không yêu cầu các quyền cụ thể vượt ra ngoài các khoản được xử lý bởi Firebase, ứng dụng của bạn có thể cần yêu cầu các quyền bổ sung tùy thuộc vào các tính năng của nó. Luôn đảm bảo rằng bạn tuân thủ mô hình quyền của Android cho bất kỳ tính năng nào yêu cầu sự đồng ý của người dùng.
Trích dẫn:[1] https://github.com/mvvmcross/mvvmcross-plugins/issues/82
.
[3] https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/appmodel/permissions?view=net-maui-9.0
[4] https://www.mvvmcross.com/documentation/plugins/3rd-party-plugins
[5] https://docs.pushwoosh.com/developer/first-pre
[6] https://www.mvvmcross.com/documentation/advanced/customizing-using-App-and-Setup
[7] https://stackoverflow.com/questions/45411485/pushwoosh-xamarin-forms-android-exception-on-registration
.
[9] https://help.adjust.com/en/partner-setup/pushwoosh