انتقل إلى المحتوى

MAUI Dotnet

دمج SDK

Anchor link to

1. أضف حزمة Nuget Pushwoosh.DotNet إلى كل من مشروعي Android و iOS:

2. اقبل التراخيص للاعتماديات العابرة لـ Android إذا لزم الأمر:

3. قم بتهيئة مشروعك في Firebase Console.

4. أضف google-services.json إلى الدليل الجذر لمنصة Android الخاصة بك. قم بتعيين إجراء البناء GoogleServicesJson لهذا الملف:

5. أضف الأسطر التالية قبل تعريف مساحة الاسم (namespace) في ملف MainActivity.cs الخاص بك (XXXXX-XXXXX هنا هو معرف تطبيق Pushwoosh الخاص بك):

[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">YOUR_SENDER_ID</string>

8. في ملف AndroidManifest.xml الخاص بك، أضف ما يلي:

<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_TYPE_API_TOKEN" />

هام: تأكد من أن رمز Device API لديه صلاحية الوصول إلى التطبيق الصحيح في لوحة تحكم Pushwoosh الخاصة بك. تعرف على المزيد

9. قم بإجراء التغييرات التالية في ملف AppDelegate.cs لمشروع iOS الخاص بك:

في بداية دالة FinishedLaunching، ضع السطر التالي:
PushManager.Init();

أضف هذه الدوال إلى AppDelegate (فئة MauiUIApplicationDelegate لا تقوم بتصدير هذه الدوال بشكل افتراضي، لذلك يجب عليك القيام بذلك يدويًا):

[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 الخاص بك. يمكنك العثور عليه في لوحة التحكم الخاصة بك:\

11. في Info.plist، قم بتعيين:

هام: تأكد من منح الرمز صلاحية الوصول إلى التطبيق الصحيح في لوحة تحكم Pushwoosh الخاصة بك. تعرف على المزيد

12. في الجزء متعدد المنصات من ملف App.xaml.cs، أضف التسجيل إلى دالة onStart:

using PushwooshSDK.DotNet.Core;
...
public partial class App : Application
{
...
protected override void OnStart()
{
base.OnStart();
PushManager.Instance.Register();
}
}

ملاحظة لمستخدمي Windows: عند البناء، قد تواجه مشكلة تتعلق بطول مسار الملف. يرجع هذا إلى أن الطول المجمع للمجلدات التي يستخدمها Visual Studio ومسارات الملفات داخل Pushwoosh SDK يتجاوز الحد الأقصى لطول المسار في Windows وهو 260 حرفًا. لحل هذه المشكلة، قم بتمكين إعداد LongPathsEnabled في سجل Windows.

شاركنا ملاحظاتك

Anchor link to

تساعدنا ملاحظاتك في إنشاء تجربة أفضل، لذلك نود أن نسمع منك إذا واجهت أي مشاكل أثناء عملية دمج SDK. إذا واجهت أي صعوبات، فلا تتردد في مشاركة أفكارك معنا عبر هذا النموذج.