🚧 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 contextapiKey: String
- Your BerryHive API keyuserId: String
- Unique user identifier
BerryHive.startSharing()
Begin bandwidth sharing to start earning honey points.
Returns:
BerryHiveResult<Unit>
- Success or error result