Giter Site home page Giter Site logo

georgedavidtito / react-native-zendesk-ichat Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 10.0 26 KB

Simple module that allows displaying Zopim Chat from Zendesk for React Native in the latest versions.

License: MIT License

JavaScript 2.13% Java 51.20% Ruby 14.88% Objective-C 31.80%
react-native-zendesk-chat react-native-zopim-chat react-native-zendesk react-native-chat rn-chat zendesk-chat

react-native-zendesk-ichat's Introduction

react-native-zendesk-ichat ๐Ÿ“ฃ

Build Status

Getting started

Follow the instructions to install the SDK for iOS and Android.

$ npm install react-native-zendesk-ichat --save or $ yarn add react-native-zendesk-ichat

Mostly automatic installation

$ react-native link react-native-zendesk-ichat (Only versions less than 0.60)

๐Ÿ“˜ Manual installation

๐Ÿ“ฑ iOS

Using CocoaPods (Best Approach)
  1. Go to ios โžœ pod install.
  2. Open up ios/[...]/AppDelegate.m
  • Add #import <ZDCChat/ZDCChat.h>;
  • Add
    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    ...
    	[ZDCChat initializeWithAccountKey:@"key"]; // <- add this
    	return YES;
    }

๐Ÿ“ฑ Android

  1. Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.rnzendeskchat.RNZendeskChatModule; and com.facebook.react.bridge.ReactApplicationContext; to the imports at the top of the file
  • Add static RNZendeskChatModule rnZendeskChatModule; before the onCreate method;
  • Add
    ReactApplicationContext reactContext = new ReactApplicationContext(this);
    rnZendeskChatModule = new RNZendeskChatModule(reactContext);
    rnZendeskChatModule.init("key");
    to the onCreate method;
  • (Only versions less than 0.60) Add new RNZendeskChatPackage() to the list returned by the getPackages() method
  1. Insert the following lines inside the allprojects repositories block in android/build.gradle:
      maven { url 'https://zendesk.artifactoryonline.com/zendesk/repo' }
    
  2. (Only versions less than 0.60) Append the following lines to android/settings.gradle:
    include ':react-native-zendesk-ichat'
    project(':react-native-zendesk-ichat').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-zendesk-ichat/android')
  3. (Only versions less than 0.60) Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-zendesk-ichat')
    

๐Ÿ‘ Contribute

Show your โค๏ธ and support by giving a โญ. Any suggestions and pull request are welcome !

๐Ÿ“ License

MIT ยฉ DavidTito

๐Ÿš€ Usage

import RNZendeskChat from 'react-native-zendesk-ichat';

RNZendeskChat.startChat({
            name: 'someName',
            email: 'someEmail',
            phone: 'somePhone',
            tags: ['someTag1', 'someTag2']
          })

react-native-zendesk-ichat's People

Contributors

francisco-sanchez-molina avatar georgedavidtito avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

react-native-zendesk-ichat's Issues

Set department is not working in Android

The department set in this method is not working in Android. Zendesk doesn't show any department when started the chat. Did I miss anything?

ZendeskChat.startChat({
name: 'someName',
email: 'someEmail',
phone: 'somePhone',
tags: ['someTag1', 'someTag2'],
department: 'someDepartment'
})

pod file broken

Can't install pods

[!] CocoaPods could not find compatible versions for pod "RNZendeskChat":
  In Podfile:
    RNZendeskChat (from `../node_modules/react-native-zendesk-ichat/ios`)

Specs satisfying the `RNZendeskChat (from `../node_modules/react-native-zendesk-ichat/ios`)` dependency were found, but they required a higher minimum deployment target.

Push notification crashes iOS app when app is in quit state

Hello @davidtito1992
I am having a cumbersome issue using this package with FCM push notifications.
When a push notification launches the iOS app from a quit state it always crashes the app.

I followed zendesk documentation that is described here by you like so:

- (void) application:(UIApplication*)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)tokenData {
    [ZDCChat setPushToken:tokenData];
}

- (void) application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo {
    [ZDCChat didReceiveRemoteNotification:userInfo];
}

Here is also a stack trace of the native crash:

Screen Shot 2021-01-16 at 5 24 31 AM 2

react-native link error

Trying to link:
react-native link react-native-zendesk-ichat

Got this error:
error Something went wrong while linking. Error: Expected [\n\r] but end of input found.

React Native Environment Info:
System:
OS: macOS 10.15
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 167.52 MB / 8.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 10.16.0 - /usr/local/bin/node
Yarn: 1.16.0 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 26.0.2, 26.0.3, 27.0.3, 28.0.0, 28.0.2, 28.0.3
System Images: android-28 | Intel x86 Atom_64, android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.3 AI-182.5107.16.33.5314842
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: ^0.59.9 => 0.59.10
npmGlobalPackages:
react-native-cli: 2.0.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.