Skip to content

amitclickapps/pubnub-util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PubnubUtil

PubnubConfiguration

If gcm enable then add gcm key in pubnub console

        new PubnubConfiguration.Builder()
                .keys("publish_key", "subscribe_key")
                .gcm(true, "senderId")
                .isDebug(BuildConfig.DEBUG)
                .build();

PubnubManager Subscribe

        String[] channel = new String[]{"channel1", "channel2"};
        PubNubManager.with(this)
                        .subScribe()
                        .channels(channels)
                        .callback(new PubNubParam.OnPushMessageListener() {
                            @Override
                            public void onSuccess(String channel, Object data) {
                                if(data instanceof PNStatus){

                                }
                            }

                            @Override
                            public void onFailure(String channel, String exception) {

                            }
                        }).build();

PubnubManager publish

        String[] channel = new String[]{"channel1", "channel2"};
        PubNubManager.with(this)
                        .publish()
                        .channels(channels)
                        .message(object)
                        .callback(new PubNubParam.OnPushMessageListener() {
                            @Override
                            public void onSuccess(String channel, Object data) {

                            }

                            @Override
                            public void onFailure(String channel, String exception) {

                            }
                        }).build();

PubnubManager unSubscribe Channel

        String[] channel = new String[]{"channel1", "channel2"};
        PubNubManager.with(this)
                        .unSubScribe()
                        .channels(channels)
                        .callback(new PubNubParam.OnPushMessageListener() {
                            @Override
                            public void onSuccess(String channel, Object data) {

                            }

                            @Override
                            public void onFailure(String channel, String exception) {

                            }
                        }).build();

PubnubManager unSubscribeAllChannel

        PubNubManager.with(this)
                        .unSubScribeAll()
                        .callback(new PubNubParam.OnPushMessageListener() {
                            @Override
                            public void onSuccess(String channel, Object data) {

                            }

                            @Override
                            public void onFailure(String channel, String exception) {

                            }
                        }).build();

PubnubManager SubscribedList

       List<String> subScribedList = PubNubManager.with(this)
                       .getScribeList();

PubnubManager history

To enable history Storage & Playback in Pubnub

        String[] channel = new String[]{"channel1"};
        PubNubManager.with(this)
                        .history()
                        .channels(channels)
                        .historyCount(100)
                        .progressDialog(dialog)
                        .callback(new PubNubParam.OnPushMessageListener() {
                            @Override
                            public void onSuccess(String channel, Object data) {

                            }

                            @Override
                            public void onFailure(String channel, String exception) {

                            }
                        }).build();

Following Points have to take care before using this


Whenever PushNotification received this broadcast notified

<!--  Broadcast receiver for PubNub Message -->
        <receiver android:name="NameOfBroadcast">
            <intent-filter>
                <action android:name="yourpackageName.pubnub" />
            </intent-filter>
        </receiver>

When Internet on/off this broadcast notified here have to subscribe all channel again. Because when internet off all channels are auto unSubscribed. For Subscribe again Either use Intent Service from BroadCastReceiver

<receiver android:name=".InternetBraodcast">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>

If need Local Broadcast on specific screen use below code

private BroadcastReceiver localBroadCast= new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

    }
};

Register

IntentFilter intentFilter = new IntentFilter(PubNubConstant.LOCAL_BROADCAST);
LocalBroadcastManager.getInstance(this).registerReceiver(localBroadCast, intentFilter);

UnRegister

LocalBroadcastManager.getInstance(this).unregisterReceiver(localBroadCast);

Download

Add the JitPack repository to your root build.gradle:

	allprojects {
		repositories {
			maven { url "https://jitpack.io" }
		}
	}

Add the Gradle dependency:

	dependencies {
		compile 'com.github.amitclickapps:pubnub-util:latest'
	}