Amal p
Amal p

Reputation: 3042

How to share App link using react native Share API?

I am trying to share my app installation link to others from my app settings in react native.

I used the react native share api for this.

But using the below code the output only shows the message(code and screenshot below).

const shareAppOptions = {
  title: 'App link',
  message: 'Please install this app and stay safe', 
  url: 'https://play.google.com/store/apps/details?id=nic.goi.aarogyasetu&hl=en'
};

enter image description here

What is the problem ?, I searched everywhere and no one has a proper example.

Upvotes: 11

Views: 36317

Answers (3)

Antier Solutions
Antier Solutions

Reputation: 1402

import {Share} from 'react-native';

try {
  const result = await Share.share({
    message:'Your message here'
  });

  if (result.action === Share.sharedAction) {
    if (result.activityType) {
      // shared with activity type of result.activityType
    } else {
      // shared
    }
  } else if (result.action === Share.dismissedAction) {
    // dismissed
  }
} catch (error) {
  alert(error.message);
}

Upvotes: -3

Khaja kutubuddin
Khaja kutubuddin

Reputation: 71

I think you can share your app link by placing the url in the message section.

message:'https://play.google.com/store/apps/details?id=nic.goi.aarogyasetu&hl=en'

Upvotes: 6

Gaurav Roy
Gaurav Roy

Reputation: 12245

The problem is In Android, you cant specify something as url , but the same when you do in IOS, youll get the link (Check the docs to cross verify :rn-share. Its better you can send the link of the app in the message itself so that both platforms can get it without writing double code.

Like this is the example :

import React from 'react';
import { Share, View, Button } from 'react-native';

export default ShareExample = () => {
  const onShare = async () => {
    try {
      const result = await Share.share({
       title: 'App link',
  message: 'Please install this app and stay safe , AppLink :https://play.google.com/store/apps/details?id=nic.goi.aarogyasetu&hl=en', 
  url: 'https://play.google.com/store/apps/details?id=nic.goi.aarogyasetu&hl=en'
      });
      if (result.action === Share.sharedAction) {
        if (result.activityType) {
          // shared with activity type of result.activityType
        } else {
          // shared
        }
      } else if (result.action === Share.dismissedAction) {
        // dismissed
      }
    } catch (error) {
      alert(error.message);
    }
  };
  return (
    <View style={{ marginTop: 50 }}>
      <Button onPress={onShare} title="Share" />
    </View>
  );
};

Hope it helps. feel free for doubts

Upvotes: 13

Related Questions