An open API service indexing awesome lists of open source software.

https://github.com/garrettmac/react-native-tweet


https://github.com/garrettmac/react-native-tweet

react-native react-native-component react-native-module

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

react-native-tweet

Meet react-native-tweet

npm versionnpm versionPR StatsIssue Stats Join the chat

# React Native Tweet

React Native Tweet is the most up to date Twitter Module using **Twitter Kit 3**

**NOTE:** THIS DOES NOT USE FABRIC!

Currently only ios, android coming soon

## Getting Started

## Installation

- Install `react-native` first

```bash
npm i react-native -g
yarn add react-native-tweet
mkdir Example
cd Example
yarn install #(or with npm)
npm start
```

### Example

or clone the repo and play with the example project

```bash
$ git clone https://github.com/garrettmac/react-native-tweet
# $ cd react-native-tweet/Example //not available yet
$ yarn install
$ react-native link react-native-tweet
$ npm start
```
### Setup

#### ios

1. install the latest

https://dev.twitter.com/twitterkit/ios/installation

2. Drag All four to your project
> TwitterCore.framework
> TwitterKit.framework
> TwitterKitResources.bundle
> TwitterShareExtensionUIResources.bundle

(Also see this repos screen shots for more details on setting up)

https://apps.twitter.com

3. add this to your `.plist`

> in your ios/EXAMPLE.plist

```
CFBundleURLTypes


CFBundleURLSchemes

twitterkit-

LSApplicationQueriesSchemes

twitter
twitterauth

```

4. edit your AppDelegate

> in your ios/AppDelegate.m

```
#import

...
@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
[[Twitter sharedInstance] startWithConsumerKey:@"XXXXXXXXX" consumerSecret:@"XXXXXXXXX"];
...
```

### Basic Usage

- In your `index.js`, use:

```jsx
import RNTweet from "react-native-tweet"
........
```

| Methods | Params | Description |
|------------------|------------------|------------------|
| `login` | N/A | Login User |
| `logout` | N/A | Logout User |
| `compose` | {setText,setURL,setVideo,setImage} | Compose Tweet |
| `user` | N/A | Get User |
| `retweet` | tweet `id` | Retweet |
| `api` | {endpoint,q}| Api User |

## init()

**Usage**

You only need to call it once and it can be added anywhere but it's better before your `AppRegister` function.

```jsx
RNTwitter.init({consumerSecret:"",consumerKey:""})
```

## hideAlerts()

**Usage**

You only need to call it once and it can be added anywhere but it's better before your `AppRegister` function.

```jsx
RNTwitter.hideAlerts()
```

## login()

```jsx
RNTwitter.login()
.then(user=>console.log(user))
.catch(console.warn)//optional

```

## compose()

```jsx
RNTwitter.compose({
setText:"YOUR TEXT"
setURL:"YOUR URL"
// setVideo:"YOUR VIDEO" //coming soon
setImage:"YOUR IMAGE"
})
.then(console.log)
.catch(console.warn)//optional

```

## logout()

```jsx
RNTwitter.logout()
.then(console.log)
.catch(console.warn)//optional

```
## user()

```jsx
RNTwitter.user()
.then(console.log)
.catch(console.warn)//optional

```
## retweet(tweetId)

```jsx
RNTwitter.retweet(tweetId)
.then(console.log)
.catch(console.warn)//optional
```

## api(options)

```jsx
RNTwitter.api({
endpoint: 'search/tweets.json',
q: encodeURI(`${q}`),
count
})
.then(tweets=>{
console.log(tweets)
})
.catch(console.warn)//optional
```

> see https://dev.twitter.com/rest/public