Add the Xamarin SDK to your reference

On both project Android/iOS of your own project you will need to add as reference the Accengage Plugin available on NuGet. 

Right click on Reference (on both iOS/Android side) and choose Manage NuGet Package, then search Xamarin.Accengage SDK and add it.

Then we recommend you to create a class in a SharedProject which will allow you to only have one class to handle the majority of methods 

you need to run properly our SDK, on iOS and Android side at the same time, since the SharedProject will search the method and adapt on the

environnement he is in to choose the working one.

Using

Using AccengageSDK at the top of your AppDelegate (iOS) or Activity (And) and any of your class:

using AccengageSDK;


Android Integration

Prerequisites

  • Compile using AndroidVersion 6 

To use all the potential of the android SDK, some additionnal integration step needs to be done.

Put our service tag insinde your application tag with the proper senderId, partnerID and privateKey.

<service android:name="com.ad4screen.sdk.A4SService" android:label="A4S Service" android:process=":A4SService">
	<meta-data android:name="com.ad4screen.partnerid" android:value="partnerId" />
	<meta-data android:name="com.ad4screen.privatekey" android:value="privateKey" />
	<meta-data android:name="com.ad4screen.senderid" android:value="gcm:senderId" />
</service>

Inside all your Activities, you will need to  Sub Classing any Activity Type.

Following permissions are required in your manifest :

<permission android:name="your-package.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<permission android:name="your-package.provider.A4S_READ_DATABASE" android:protectionLevel="signature"/>
<permission android:name="your-package.provider.A4S_WRITE_DATABASE" android:protectionLevel="signature"/>
<uses-permission android:name="your-package.permission.C2D_MESSAGE"/>

Finally you need to add in your manifest inside the application tag our GCMHandler,

<receiver android:name="com.ad4screen.sdk.GCMHandler" android:permission="com.google.android.c2dm.permission.SEND">
	<intent-filter>
    	<action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
        <category android:name="${applicationId}" />
    </intent-filter>
</receiver>

A4SProvider,

<provider android:authorities="your-package.ad4screen.provider" 
	android:readPermission="your-package.provider.A4S_READ_DATABASE" 
    android:writePermission="your-package.provider.A4S_WRITE_DATABASE" 
    android:name="com.ad4screen.sdk.provider.A4SProvider" android:process=":A4SService" />

and NotificationActionsReceiver:

<receiver android:name="com.ad4screen.sdk.NotificationActionsReceiver" 
    android:process=":A4SService">
	<intent-filter>
	    <action android:name="com.ad4screen.sdk.notification.CLICK" />
		<action android:name="com.ad4screen.sdk.notification.action.CLICK" />
		<category android:name="${applicationId}" />
	</intent-filter>
</receiver>

Plugin

 Prerequisites

 To use all of our plugins you will need to setup your compiled android version to 7 since google play services 9.6.1 used the Android.Support.v4 24+ 

Xamarin.Accengage.Android.Plugin Firebase v1.0.0 :

 This plugin allows the SDK to register/unregister to Firebase Cloud Messaging (FCM).

As of April 10, 2018, Google has deprecated Google Cloud Messaging (GCM). This gateway will no longer be available to broadcast Push Notifications to your users as of April 11, 2019.
We highly recommend you to migrate your GCM project to Firebase Cloud Messaging (FCM).

You cannot use our plugin Firebase and our plugin Play Services Push at the same time.

 

Xamarin.Accengage.Android.Plugin Play Services v1.2.0 :

    This plugin allows the SDK to:

  • Register/Unregister to GCM using GooglePlayServices (official and recommended Google's method)
  • Retrieve and send to Accengage the Google Advertiser ID (IDFA) automatically
  • Geolocation using GooglePlayServices (SDK 3.1.0+). Usefull about power comsumption.
  • Geofencing using GooglePlayServices (SDK 3.1.0+)

    This plugin regroup five plugins which you can import in your project separately in fonction of what you need :

  • Xamarin.Accengage.Android.Plugin Play Services Base v1.2.0
  • Xamarin.Accengage.Android.Plugin Play Services Location v1.2.0
  • Xamarin.Accengage.Android.Plugin Play Services Push v1.2.0
  • Xamarin.Accengage.Android.Plugin Play Services Geofence v1.2.0
  • Xamarin.Accengage.Android.Plugin Play Services AdvertiserId v1.2.0

Xamarin.Accengage.Android.Plugin Beacon v1.2.0

    This plugin allows the SDK to:

  • Listen for Beacons
  • Trigger In-Apps and Local Notifications using Beacons

 

Xamarin.Accengage.Android.Plugin Badger v1.2.0

    This plugin allows the SDK to:

  • Manage badge on all layer

 

iOS Integration

Import natives methods

If a feature is not available in the wrapper, You can directly use the binded sdk as if you coded natively. Use this namespace.

using Com.Ad4screen.Sdk;
using AccengageIOS;