Add to your project build.gradle
allprojects {
repositories {
.....
maven { url "https://jitpack.io" }
maven { url 'http://clojars.org/repo' }
}
}
Then add to your app module build.gradle
dependencies {
compile 'com.github.qiscus:qiscus-sdk-android:1.7.0'
}
Init Qiscus at your application class with your application ID, you can get app ID here http://sdk.qiscus.com
public class SampleApps extends Application {
@Override
public void onCreate() {
super.onCreate();
Qiscus.init(this, "yourQiscusAppId");
}
}
Before user can start chatting each other, they must login to qiscus engine.
Qiscus.setUser("[email protected]", "userKey")
.withUsername("Tony Stark")
.withAvatarUrl("http://avatar.url.com/handsome.jpg")
.save(new Qiscus.SetUserListener() {
@Override
public void onSuccess(QiscusAccount qiscusAccount) {
DataManager.saveQiscusAccount(qiscusAccount);
startActivity(new Intent(this, ConsultationListActivity.class));
}
@Override
public void onError(Throwable throwable) {
throwable.printStackTrace();
showError(throwable.getMessage());
}
});
Qiscus.buildChatWith("[email protected]")
.withTitle("Jhon Doe")
.build(this, new Qiscus.ChatActivityBuilderListener() {
@Override
public void onSuccess(Intent intent) {
startActivity(intent);
}
@Override
public void onError(Throwable throwable) {
throwable.printStackTrace();
showError(throwable.getMessage());
}
});
Boring with default template? You can customized it, try it!, we have more items than those below code, its just example.
Qiscus.getChatConfig()
.setStatusBarColor(R.color.blue)
.setAppBarColor(R.color.red)
.setTitleColor(R.color.white)
.setLeftBubbleColor(R.color.green)
.setRightBubbleColor(R.color.yellow)
.setRightBubbleTextColor(R.color.white)
.setRightBubbleTimeColor(R.color.grey)
.setTimeFormat(date -> new SimpleDateFormat("HH:mm").format(date));
Check CustomChatActivity.java
### RxJava Support ```java // Setup qiscus account with rxjava example Qiscus.setUser("[email protected]", "password") .withUsername("Tony Stark") .withAvatarUrl("http://avatar.url.com/handsome.jpg") .save() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(qiscusAccount -> { DataManager.saveQiscusAccount(qiscusAccount); startActivity(new Intent(this, ConsultationListActivity.class)); }, throwable -> { throwable.printStackTrace(); showError(throwable.getMessage()); });// Start a chat activity with rxjava example
Qiscus.buildChatWith("[email protected]")
.withTitle("Jhon Doe")
.build(this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(intent -> {
startActivity(intent);
}, throwable -> {
throwable.printStackTrace();
showError(throwable.getMessage());
});
Check sample apps -> [DragonFly](https://github.com/qiscus/qiscus-sdk-android-sample)
License
-------
Copyright (c) 2016 Qiscus.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.