MAUI Dotnet
การผสานการทำงาน SDK
Anchor link to1. เพิ่มแพ็คเกจ Nuget Pushwoosh.DotNet ไปยังโปรเจกต์ทั้ง Android และ iOS:

2. ยอมรับใบอนุญาตสำหรับ dependency ของ Android แบบ transitive หากจำเป็น:

3. กำหนดค่าโปรเจกต์ของคุณใน Firebase Console
4. เพิ่ม google-services.json ไปยังไดเรกทอรีรากของแพลตฟอร์ม Android ของคุณ ตั้งค่า Build Action เป็น GoogleServicesJson สำหรับไฟล์นี้:

5. เพิ่มบรรทัดต่อไปนี้ก่อนการประกาศ namespace ใน MainActivity.cs ของคุณ (XXXXX-XXXXX ในที่นี้คือ Pushwoosh Application ID ของคุณ):
[assembly: MetaData("com.pushwoosh.appid", Value = "XXXXX-XXXXX")][assembly: MetaData("com.pushwoosh.senderid", Value = "@string/fcm_sender_id")]
6. ใน MainActivity.cs ของคุณ ให้ override เมธอด OnCreate()
และเรียกใช้ PushManager.Init();
หลังจาก base.OnCreate(savedInstanceState);
using Pushwoosh.Android;...public class MainActivity : MauiAppCompatActivity{ protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); PushManager.Init(); }}
7. ในโปรเจกต์ Android ของคุณ ให้ค้นหาไฟล์ Resources/values/strings.xml หรือสร้างขึ้นมาใหม่ เพิ่มสตริง Sender ID ของคุณที่นั่น:
<string name="fcm_sender_id">รหัสผู้ส่งของคุณ</string>
8. ใน AndroidManifest.xml
ของคุณ ให้เพิ่มข้อมูลต่อไปนี้:
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_TYPE_API_TOKEN" />
สำคัญ: ตรวจสอบให้แน่ใจว่า โทเค็น Device API มีสิทธิ์เข้าถึงแอปพลิเคชันที่ถูกต้องใน Pushwoosh Control Panel ของคุณ เรียนรู้เพิ่มเติม
9. ทำการเปลี่ยนแปลงต่อไปนี้ใน AppDelegate.cs ของโปรเจกต์ iOS ของคุณ:
ที่จุดเริ่มต้นของเมธอด FinishedLaunching
ให้ใส่บรรทัดต่อไปนี้:PushManager.Init();
เพิ่มเมธอดเหล่านี้ไปยัง AppDelegate (คลาส MauiUIApplicationDelegate
ไม่ได้ export เมธอดเหล่านี้โดยค่าเริ่มต้น ดังนั้นคุณต้องทำด้วยตนเอง):
[Export("application:didReceiveRemoteNotification:fetchCompletionHandler:")] public void DidReceiveRemoteNotification(UIKit.UIApplication application, NSDictionary userInfo, Action<UIKit.UIBackgroundFetchResult> completionHandler) { PushManager.Instance.ReceivedRemoteNotification(userInfo); }
[Export("application:didRegisterForRemoteNotificationsWithDeviceToken:")] public void RegisteredForRemoteNotifications(UIKit.UIApplication application, NSData deviceToken) { PushManager.Instance.RegisteredForRemoteNotifications(deviceToken); }
[Export("application:didFailToRegisterForRemoteNotificationsWithError:")] public void FailedToRegisterForRemoteNotifications(UIKit.UIApplication application, NSError error) { PushManager.Instance.FailedToRegisterForRemoteNotifications(error); }
10. ใน Info.plist ให้เปลี่ยนค่า Pushwoosh_APPID เป็น Pushwoosh Application Code ของคุณ คุณสามารถค้นหาได้ใน Control Panel ของคุณ:

11. ใน Info.plist
ให้ตั้งค่า:
- คีย์
Pushwoosh_API_TOKEN
เป็น Pushwoosh Device API Token
สำคัญ: ตรวจสอบให้แน่ใจว่าโทเค็นมีสิทธิ์เข้าถึงแอปที่ถูกต้องใน Pushwoosh Control Panel ของคุณ เรียนรู้เพิ่มเติม
12. ในส่วน cross-platform ของ App.xaml.cs ให้เพิ่มการลงทะเบียนไปยังเมธอด onStart
:
using PushwooshSDK.DotNet.Core;...public partial class App : Application{... protected override void OnStart() { base.OnStart(); PushManager.Instance.Register(); }}
หมายเหตุสำหรับผู้ใช้ Windows: เมื่อทำการ build คุณอาจพบปัญหาที่เกี่ยวข้องกับความยาวของเส้นทางไฟล์ ปัญหานี้เกิดจากความยาวรวมของไดเรกทอรีที่ Visual Studio ใช้และเส้นทางไฟล์ภายใน Pushwoosh SDK เกินขีดจำกัดความยาวเส้นทางสูงสุดของ Windows ที่ 260 อักขระ เพื่อแก้ไขปัญหานี้ ให้เปิดใช้งานการตั้งค่า LongPathsEnabled ใน Windows Registry
แบ่งปันความคิดเห็นของคุณกับเรา
Anchor link toความคิดเห็นของคุณช่วยให้เราสร้างประสบการณ์ที่ดีขึ้น เราจึงยินดีที่จะรับฟังความคิดเห็นจากคุณหากคุณพบปัญหาใดๆ ในระหว่างขั้นตอนการผสานการทำงาน SDK หากคุณประสบปัญหาใดๆ โปรดอย่าลังเลที่จะแบ่งปันความคิดของคุณกับเรา ผ่านแบบฟอร์มนี้