About SDK


The Beemray SDK gives tools for brands to collect data from multiple sources, including app, web, and location. Then visualise and segment it, to deliver contextual content on the screen which matters most to the customer at that time.


The SDK features help app and website developers gain insights about users by collecting vital behavioral data of user interactions to provide information for detailed segmentation and context understanding.

It is also a complete visual interface for providing rich communication for the users within given context and matching rules. When communicating with an end user, a beem is sent to the user’s device. It is an in-app beem or (by default) a layer on top of your app. In browsers, a beem is placed by default on top of the web page in a light box or it can be configured in a specific area of the page.

There are a lot of features included in an SDK:

Data collection

The default integration of the Beemray mobile SDK collects information such as:

  • Install of the application
  • Stopping of the application
  • Restarting the application
  • Dwell time of the application usage
  • Outdoor location (Location services including GPS, wifi and 3G)
  • Indoor location (Beacons)
  • Carrier/network provider information
  • Device technical information (OS, OS version, language, resolution, manufacturer, model)

Optional deeper integration collects information based on user interactions with your app in terms of events and user profile. These are highly flexible and provide virtually unlimited opportunities to gather more information.

The default integration of the Beemray javascript SDK collects events, user profiles and (when enabled) outdoor location.

Push Notifications

Push notifications are great for keeping users informed with timely and relevant content, whether your app is running in the background or inactive. Notifications can display a message, play a distinctive sound, or update a badge on your app icon. On mobile devices, when a device receives a push notification, your application's icon and a message appear in the status bar. When the user taps the notification, they are sent to a beem. Notifications can be broadcasted to all users, such as for a marketing campaign, or sent to just a subset of users, to give personalized information.


A Beem is a rich message format and can include elements such as text, picture or video and an Action Bar at the bottom.

Beem templates are very versatile and can present almost any look and feel. A template is an HTML5 template, and there are few ones available in your account. You can customise and upload a new template to match your needs. Template content is filled dragging your asset to the template area.

Example templates


  1. A full screen picture template
  2. A picture and text template
  3. Three pictures template
  4. A picture and custom content template. Custom could be for example a chat widget, video, competitions, and survey.



Think of Beembox as an inbox for beems. All beems sent to a user are stored in the Beembox. User is able to revisit the beems and for example, use a coupon that has been sent earlier. A beem can be deleted from the Beembox with the same left swipe action to that of your text messages. An application developer can include the Beembox as an out of the box element in the app (as a fragment or a view) thus further enhancing the app’s original functionalities.


  1. Beembox can be embedded as an inbox to your application (as a fragment or view).
  2. Beem thumbnails are created of the beem content
  3. Beem title is taken from the beem title in the account


Action Bar

Action Bar is a dynamic Call-To-Action bar that is on a beem. Each Action Bar button can be configured to a particular Call-to-Action such as call to the store, route to the store and share on Facebook and Twitter. Action Bar can also be customized to include custom functionalities.

Beemray Viewer

For demo purposes and testing the platform including beems and profiles, there is a Beemray Viewer available at PlayStore and App Store.


  1. Launch button randomly selects any beem from the account for beem testing purposes.
  2. Beembox icon opens the inbox view to scroll the received list of beems.
  3. Settings icon for the settings view.
  4. Profile values are the ones that you have created in the account’s profile section. You are able to have multiple profile in one app and test them all.
  5. Account ID can be found at the account’s settings/integration section. The ID links the Viewer to your account.
  6. Profile lists all the profiles that you have created in the account.

Best Practices

The SDK provides full blown data collection features and interfaces for interacting with the end user. There are some considerations and best practices when integrating and using the Beemray SDK.

  • Determine in advance all elements for which you want to track data. Even if you initially track only the default information on your website or app, having an overall sense of the various business needs will help you collect more valuable data for segmentation and reaching out to the users in a correct context.
  • Provide user an opportunity to opt-out of getting push notifications.
  • Publish a clear privacy policy and show that you respect and take seriously privacy concerns. If you feel like, you can also refer to ours at https://www.beemray.com/privacy-policy/
  • Plan carefully the content of your beems. Beemray is a powerful tool, you should use it carefully. For guidance, do consider these five generic ethic rules:

  1. Be true to contextuality
     - do not spoil the opportunity to be relevant or otherwise your customer deletes your app.

  2. Be selective
     - too much is too much; it is tempting to try to communicate every time a user is nearby. Instead, use filters (time, weather, profile etc) to be relevant (yes, again the same word).

  3. Beware selling snake oil
     - push only messages that are relevant to your customers. Anything else will spoil your own brand.

  4. Be positive
     - negative messaging does not work, period. It simply is not (you guessed it:)) relevant.

  5. Be nice
    - never ever talk bad about your competitors even if you position your Spots on top of their locations. It is not …… to your customers.
Have more questions? Submit a request