Tuesday, April 16, 2019

How to Use Notification Sender

In Admin App:
1. Create a new account
2. After SignIn click on plus button and add your new application by entering app name and package name, icon is optional,
3. When you want to send notification, simply click on your app from applications list, enter title and message and click on send Notification


In User App Developed by you:
1. Add Following lines in app level build.gradle file:
buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.11.0, 0.99.99]'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'

repositories {
    maven { url 'https://maven.google.com' }
}

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.e.myapplication"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        manifestPlaceholders = [
                onesignal_app_id : 'e8bd59c0-d5d1-4acb-9de6-42005d23935b',
                onesignal_google_project_number: 'REMOTE'
        ]
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.onesignal:OneSignal:[3.9.1, 3.99.99]'
    implementation 'com.android.volley:volley:1.1.1'
   
}

2. Add following permission line in Manifest File
<uses-permission android:name="android.permission.INTERNET"/>

3. Add Following lines in onCreate method in MainActivity
OneSignal.startInit(this)
        .inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
        .unsubscribeWhenNotificationsAreDisabled(true)
        .init();
OSPermissionSubscriptionState status = OneSignal.getPermissionSubscriptionState();
status.getPermissionStatus().getEnabled();
String token=status.getSubscriptionStatus().getPushToken();
//add your private code here, provided in admin app's side menu
sendToken("paste private code here",getPackageName(),token);

4. Put Following Function bellow onCreate Method in MainActivity
private void sendToken(final String s, final String packageName, final String token){
    String url="http://depthsol.com/notifications/users/users.php?access_key=1c0b76fce779f78f51be339c49445c49";
    StringRequest stringRequest = new StringRequest(Request.Method.POST,url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Toast.makeText(getApplicationContext(),""+response,Toast.LENGTH_SHORT).show();
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getApplicationContext(),""+error,Toast.LENGTH_SHORT).show();
        }
    }){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("admin_id", s);
            params.put("pkg_name", packageName);
            params.put("app_code", token);
            return params;
        }
    };
    RequestQueue re = Volley.newRequestQueue(this);
    re.add(stringRequest);
}

Done,Enjoy Easy Notification...

No comments:

Post a Comment