new PubnubConfiguration.Builder("publish_key", "subscribe_key")
.gcm(true, "senderId")
.isDebug(BuildConfig.DEBUG)
.build();
String[] channels = new String[]{"channel1", "channel2"};
PubNubManager.with(this)
.subScribe(channels)
.build();
PubNubManager.with(this)
.history()
.historyCount(10)
.callback(new OnResultListener<PNHistoryResult>() {
@Override
public void result(PNHistoryResult result, PNStatus status) {
}
})
.build();
PubNubManager.with(this)
.publish("Message", "channel")
.callback(new OnResultListener<PNPublishResult>() {
@Override
public void result(PNPublishResult result, PNStatus status) {
}
})
.build();
PubNubManager.with(this)
.unSubScribe("channel")
.build();
PubNubManager.with(this)
.unSubScribeAll()
.build();
<!-- Broadcast receiver for PubNub Message -->
<receiver android:name="NameOfBroadcast">
<intent-filter>
<action android:name="yourpackageName.pubnub" />
</intent-filter>
</receiver>
Using inside Activity/Fragment
LocalMessageLiveData messageLiveData = new LocalMessageLiveData(this);
messageLiveData.observe(this, new Observer<PNMessageResult>() {
@Override
public void onChanged(@NonNull PNMessageResult pnMessageResult) {
Log.i(getLocalClassName(), "Channel Observe = " + pnMessageResult.getChannel());
Log.i(getLocalClassName(), "Message Observe = " + pnMessageResult.getMessage().getAsString());
}
});
PresenceLiveData presenceLiveData = new PresenceLiveData(this);
presenceLiveData.observe(this, new Observer<PNPresenceEventResult>() {
@Override
public void onChanged(@NonNull PNPresenceEventResult pnPresenceEventResult) {
Log.i(getLocalClassName(), "Channel Observe = " + pnPresenceEventResult.getChannel());
}
});
Add the JitPack repository to your root build.gradle
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
Add the Gradle dependency:
dependencies {
compile 'com.github.amitsahni:pubnub:1.0.2'
}