PrivyID's Official Client Integration Library for Android.
- Min SDK >= 30
- Add the JitPack repository to your
build.gradle
file.
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
- Add the dependency
dependencies {
implementation 'dev.privyid:pena-android:1.1.0'
}
- Add internet permission in your
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
- Add Pena in your layout file
<dev.privyid.pena.Pena
android:id="@+id/pena"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
- And handle on your Activity
Kotlin
import dev.privyid.pena.Payload
import dev.privyid.pena.Pena
import dev.privyid.pena.Placement
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val pena = findViewById<Pena>(R.id.pena)
pena.openDoc(
url = "https://sign.document.com/doc/xxx",
lang = "en",
signature = Placement(
x = 100,
y = 200,
page = 1,
fixed = true,
),
onAfterAction = this::onAfterAction,
)
}
private fun onAfterAction(payload: Payload) {
if (payload.action == "sign")
Toast.makeText(this, "Signed", Toast.LENGTH_SHORT).show()
}
}
Java
import dev.privyid.pena.Payload;
import dev.privyid.pena.Pena;
import dev.privyid.pena.PenaDocument;
import dev.privyid.pena.Placement;
import kotlin.Unit;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Pena pena = findViewById(R.id.pena);
pena.openDoc(
new PenaDocument("https://sign.document.com/doc/xxx")
.setLang("en")
.setSignature(new Placement(100, 200, 1, true))
.setOnAfterAction(this::onAfterAction)
);
}
private Unit onAfterAction(Payload payload) {
if (payload.getAction().equals("sign"))
Toast.makeText(this, "Signed", Toast.LENGTH_SHORT).show();
return null;
}
}
Options | Type | Default | Description |
---|---|---|---|
url |
String | - | (Required) Document's url |
lang |
String | en |
Set language, valid value is en or id |
visibility |
Boolean | true |
Set signature visibility |
privyId |
String | - | Set recipient's privyId |
signature |
Placement | - | Set signature placement (Deprecated) use API to set placement when upload the document |
├ x |
Number | - | X Coordinate |
├ y |
Number | - | Y Coordinate |
├ page |
Number | - | Target page |
└ fixed |
Boolean | false |
Disabled signature for moving |
debug |
Boolean | false |
Enable debug mode |
needScrollTo |
Number | String | - | Force user to scroll to target page before doing an action (sign,review,etc). Valid value is a number, or set last to target the last page |
onAfterAction |
Function | - | After action hook |
This project is licensed under the MIT License - see the LICENSE file for details