🚧 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