1

I have a share function on the app that allows users to share app to others, but I want to track number of shares. The share item is on the action bar, not on the app dropdown menu.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);        

    //some other code here for items search item

    //share menu item
    MenuItem shareItem = menu.findItem(R.id.menu_item_share);
    // Fetch and store ShareActionProvider
    mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem);
    String playStoreLink = Constants.PLAYSTORE_LINK + getPackageName();
    String shareText = "Install app" + playStoreLink;
    Intent shareIntent = ShareCompat.IntentBuilder.from(this)
            .setType("text/plain").setText(shareText).getIntent();
    // Set the share Intent
    mShareActionProvider.setShareIntent(shareIntent);

    return true;
}

I have managed to implement tracking on other events by simply adding code in onClick() events but share event doesnt have onClick.

Code for tracking events example

Bundle param = new Bundle();
param.putString("call_data", "1");
mFirebaseAnalytics.logEvent("calls_made", param);
Ndheti
  • 266
  • 3
  • 18

1 Answers1

0

I've been strugling with the exact challenge, the quick answer is NO.

BUT, you can create your own share dialog in which you can detect on which app the user chose to share and then use analytics as desired:

Find the solution here

Another solution with ShareActionProvider

deepGrave
  • 320
  • 3
  • 11