🚧 Android SDK Coming Soon - Preview Documentation

BerryHive Android SDK

Integrate passive income generation into your Android app with just a few lines of code.

Introduction

The BerryHive Android SDK allows mobile app developers to monetize their user base by enabling secure bandwidth sharing. Users earn rewards while developers receive revenue share for each active user.

Easy Integration

Add passive income to your Android app with minimal code changes

Privacy First

Military-grade encryption and user privacy protection

Revenue Share

Earn per active user, not per GB shared

Installation

Add to your Android project

// Add to your app-level build.gradle
dependencies {
    implementation 'com.berryhive:android-sdk:1.0.0'
}

Add permissions to AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

Quick Start

1. Initialize the SDK

// Android (Kotlin)
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // Initialize BerryHive SDK
        BerryHive.initialize(
            context = this,
            apiKey = "your_api_key_here",
            userId = "unique_user_id"
        )
    }
}

2. Start Sharing

// Enable bandwidth sharing
BerryHive.startSharing { result ->
    when (result) {
        is BerryHiveResult.Success -> {
            // Sharing started successfully
            showToast("Started earning honey points!")
        }
        is BerryHiveResult.Error -> {
            // Handle error
            Log.e("BerryHive", "Error: ${result.message}")
        }
    }
}

3. Monitor Earnings

// Get user earnings and stats
BerryHive.getUserStats { stats ->
    val honeyPoints = stats.honeyPoints
    val dataShared = stats.dataSharedMB
    val estimatedEarnings = stats.estimatedEarningsUSD
    
    // Update UI with earnings info
    updateEarningsDisplay(honeyPoints, estimatedEarnings)
}

Android Examples

Complete MainActivity Example (Kotlin)

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        
        // Initialize BerryHive
        BerryHive.initialize(
            context = this,
            apiKey = getString(R.string.berryhive_api_key),
            userId = getUserId()
        )
        
        setupUI()
    }
    
    private fun setupUI() {
        binding.startSharingButton.setOnClickListener {
            startSharing()
        }
        
        binding.stopSharingButton.setOnClickListener {
            stopSharing()
        }
        
        // Update earnings display every 30 seconds
        updateEarningsDisplay()
    }
    
    private fun startSharing() {
        BerryHive.startSharing { result ->
            runOnUiThread {
                when (result) {
                    is BerryHiveResult.Success -> {
                        binding.statusText.text = "Sharing active - Earning honey points!"
                        binding.startSharingButton.isEnabled = false
                        binding.stopSharingButton.isEnabled = true
                    }
                    is BerryHiveResult.Error -> {
                        Toast.makeText(this, "Error: ${result.message}", Toast.LENGTH_LONG).show()
                    }
                }
            }
        }
    }
    
    private fun stopSharing() {
        BerryHive.stopSharing()
        binding.statusText.text = "Sharing stopped"
        binding.startSharingButton.isEnabled = true
        binding.stopSharingButton.isEnabled = false
    }
    
    private fun updateEarningsDisplay() {
        BerryHive.getUserStats { stats ->
            runOnUiThread {
                binding.honeyPointsText.text = "${stats.honeyPoints} points"
                binding.dataSharedText.text = "${stats.dataSharedMB} MB shared"
                binding.earningsText.text = "$${stats.estimatedEarningsUSD}"
            }
        }
    }
    
    private fun getUserId(): String {
        // Return unique user identifier
        return UUID.randomUUID().toString()
    }
}

Java Example

public class MainActivity extends AppCompatActivity {
    private ActivityMainBinding binding;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());
        
        // Initialize BerryHive
        BerryHive.initialize(
            this,
            getString(R.string.berryhive_api_key),
            getUserId()
        );
        
        setupUI();
    }
    
    private void setupUI() {
        binding.startSharingButton.setOnClickListener(v -> startSharing());
        binding.stopSharingButton.setOnClickListener(v -> stopSharing());
    }
    
    private void startSharing() {
        BerryHive.startSharing(result -> {
            runOnUiThread(() -> {
                if (result instanceof BerryHiveResult.Success) {
                    binding.statusText.setText("Sharing active - Earning honey points!");
                    binding.startSharingButton.setEnabled(false);
                    binding.stopSharingButton.setEnabled(true);
                } else if (result instanceof BerryHiveResult.Error) {
                    BerryHiveResult.Error error = (BerryHiveResult.Error) result;
                    Toast.makeText(this, "Error: " + error.getMessage(), Toast.LENGTH_LONG).show();
                }
            });
        });
    }
    
    private String getUserId() {
        return UUID.randomUUID().toString();
    }
}

API Reference

BerryHive.initialize()

Initialize the BerryHive SDK with your API credentials.

Parameters:

  • context: Context - Application context
  • apiKey: String - Your BerryHive API key
  • userId: String - Unique user identifier
BerryHive.startSharing()

Begin bandwidth sharing to start earning honey points.

Returns:

BerryHiveResult<Unit> - Success or error result

🚧

Android SDK Coming Soon

We're putting the finishing touches on the BerryHive Android SDK. Get early access and be among the first developers to integrate passive income into your Android apps.