new PubnubConfiguration.Builder()
.keys("publish_key", "subscribe_key")
.gcm(true, "senderId")
.isDebug(BuildConfig.DEBUG)
.build();
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();
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();
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.with(this)
.unSubScribeAll()
.callback(new PubNubParam.OnPushMessageListener() {
@Override
public void onSuccess(String channel, Object data) {
}
@Override
public void onFailure(String channel, String exception) {
}
}).build();
List<String> subScribedList = PubNubManager.with(this)
.getScribeList();
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();
<!-- 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>
private BroadcastReceiver localBroadCast= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
}
};
IntentFilter intentFilter = new IntentFilter(PubNubConstant.LOCAL_BROADCAST);
LocalBroadcastManager.getInstance(this).registerReceiver(localBroadCast, intentFilter);
LocalBroadcastManager.getInstance(this).unregisterReceiver(localBroadCast);
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'
}